如何在不编写智能合约的情况下构建自己的DeFi协议
去中心化金融(DeFi)已成为当今以太坊无可争议的主导用例。今年早些时候,锁定在DeFi协议中的资金超过10亿美元,我们正在见证一个全新金融系统从零开始构建的起点。新的DeFi协议似乎每周都在涌现。这些通常被称为"货币乐高"的协议可以被组合和构建,创造出全新的金融产品。
在Authereum,我们让使用这些协议进行构建变得比以往任何时候都更容易。在本文中,我们将探讨如何利用Authereum的批量交易API来创建自己的协议,而无需编写任何智能合约代码。
批量交易
常规的以太坊账户(也称为外部拥有账户,EOA)有一个不幸的限制。来自EOA的每个交易只能直接与单个地址或合约交互。这经常出现在dapp交互中,显示诸如"在Y之前必须先解锁X"之类的消息。
基于合约的账户(如Authereum)不受此限制,可以将多个合约的交易批量处理,从而提供更流畅的用户体验。在用户看来,“批准"步骤可以完全抽象掉,他们只需执行想要的操作即可。像Erasure Bay和1inch.exchange这样的dapp已经在使用批量交易来改善用户体验。
但是,如果我们更进一步呢?我们可以抽象掉整个协议,创造出全新的东西。
我们的构建模块
DeFi协议可以与其他协议一起构建
我们可以使用的DeFi协议数量每天都在增长,但它们主要分为几个主要类别:
- 交易所 — Uniswap、dYdX、Kyber Network、0x
- 借贷 — Compound、dYdX、Aave
- 合成资产 — Maker、Synthetix、FutureSwap
- 保险 — Nexus Mutual、Opyn
在这个例子中,我们将使用Maker和Compound构建一个ETH借贷协议,该协议可以获得比Compound本身更好的回报(基于当前的贷款利率)。
我们的借贷应用
底层协议可以被抽象掉,提供简单的界面
我们的示例DeFi协议让用户借出ETH以赚取利息。我们可以直接在Compound上借出ETH,但利率低得可怜,几乎不值得付出努力(目前<0.01%)。这个应用将利用Maker的低稳定费(目前为0%)和Compound更高的DAI借贷利率(目前为4.31%)。如果你想查看完整实现,可以在这里找到。
借贷
为了让用户获得ETH的回报,我们将:
- 开设金库并存入ETH
- 从金库提取DAI
- 在Compound上借出该DAI
这将允许用户保持对ETH的完全敞口,同时还能获得约2.15%的利息。这是Compound上DAI借贷利率的一半,因为只有ETH抵押品价值的一半可以从金库中提取,以维持健康的抵押比率。
为此,我们将批量处理3个交易:
1. 开设金库、存入ETH并提取DAI
Maker使这些步骤可以通过一个交易轻松完成。我们想要在智能合约上交互的函数是:
|
|
我们的第一个交易将如下所示:
|
|
2. 批准DAI到cDAI合约
Compound的DAI借贷合约也是一个称为cDAI的ERC20代币!你可以存入DAI并接收将赚取利息的cDAI。首先,我们必须批准向cDAI合约转移DAI。(使用批量交易时无需批准无限金额。)为此,我们在DAI合约上调用approve,将cDAI合约的地址作为我们的_spender,将从金库提取的DAI数量作为_value。
|
|
我们的第二个交易将如下所示:
|
|
3. 在Compound上借出DAI
现在我们调用cDAI合约上的mint,它将获取我们已批准的DAI并铸造cDAI。这是cDAI合约的mint函数:
|
|
我们的第三个交易将如下所示:
|
|
🔮✨魔法发生的地方✨🧙♂️
我们现在可以批量处理我们的交易,并将它们发送到以太坊网络,作为单个链上交易执行。
|
|
就这样!我们现在可以获得比大多数主要借贷协议(包括Compound本身、dYdX和Aave)更大的ETH回报。你可以在这里找到完整工作演示的代码,并自己运行它。
结论
基于合约的账户使得混合匹配DeFi协议以创造全新事物变得容易。协议的数量在不断增长,组合它们的可能性正在爆炸式增长。你会想出什么创意?
你可以在我们的文档中找到有关Authereum和批量交易API的更多信息。有问题或想聊聊你的想法吗?加入我们的Telegram并给我们发消息。最后,在Twitter上关注Authereum以获取我们所有的最新新闻和更新。