本文介绍了 DeFi 中的闪电贷概念,并通过一个使用 Aave 协议借贷 USDC 的智能合约示例,详细展示了如何在 BuildBear 测试网上部署和测试闪电贷合约。文章还对比了在本地节点和公共测试网上进行开发和测试的优劣,突出了 BuildBear 在提供 Mainnet fork、Faucet、交易调试和状态共享等方面的优势。
在传统金融中,借款人必须存入抵押品并通过信用审查才能获得贷款。但是,通过 Defi,借款人无需提供抵押品即可获得贷款。这种贷款方式称为闪电贷。
闪电贷是 DeFi 领域中一种无需抵押的短期贷款。闪电贷通常是高风险活动,允许用户在没有前期抵押品的情况下借用加密货币。这些贷款通过智能合约执行,并且有效期很短。
如果你想了解更多关于闪电贷的信息,请阅读这篇文章 learn-how-to-perform-flashloan-using-aave
那么,事不宜迟,让我们开始吧。
1.1. 我们将开发一个简单的智能合约,该合约将从 Aave 协议借用 USDC
,然后连同所需溢价(即佣金)一起偿还。
1.2. 以下是我们将要阅读的示例合约(可在此处获取 👉 GitHub Link):
1.3. 深入研究代码:
createFlashLoan()
函数:
USDC
(0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174)address(this)
,因为我们希望将借入的资金发送到我们将要部署的合约的地址,然后从同一合约偿还我们的贷款address(this)
以供进一步执行。在一个复杂的交易中,此数据作为参数传递给 createFlashLoan
函数flashLoanSimple
函数。executeOperation()
函数:
现在,按照“设置”惯例,你应该将上述合约部署在本地区块链节点(例如:Hardhat 或 Truffle)或公共测试网(如 Goreli 测试网)上。虽然这没问题,但存在以下痛点:
关于 Goreli 测试网:
关于本地节点:
localhost
是有原因的!所以别想了。😭2.1. 这就是BuildBear的用武之地。它以某种方式结合了两个世界的优势:
请看这里:本地主机失败的地方 和 使用 BuildBear 测试网的分析赢得 Web3 黑客马拉松** ](https://buildbear.io/)。一旦你使用你的 Github 或 Google 帐户登录,你将看到一个类似于下面添加的图像的页面:
BuildBear 仪表板
2.3. 创建你的私有节点,从 Polygon 主网分叉:选择 Polygon 主网的原因是 AaveV3(在撰写本文时)尚未部署在 Ethereum 主网上。
根据 Aave 社区的最新治理投票,AaveV3 也将部署在 Ethereum 主网上
2.4. 使用“添加到 Metamask”按钮将你的私有测试网添加到你的 MetaMask 钱包:
2.5. 从水龙头(使用水龙头 URL)铸造你的 Native 和 USDC:
2.5.1. 铸造 Token
3.1. 导航到 Remix Online IDE 网站并接受条款和条件。* ](https://miro.medium.com/v2/resize:fit:700/1jIJJX7V6J7Yex33Xm5m0BA.png)
Remix
3.2. 创建一个新合约并粘贴智能合约代码,可在此处获取 👉 GitHub Link
3.3. 使用以下图标和详细信息,使用 Solidity 版本 0.8.10 编译智能合约:
请注意,合约的 ABI 仅在合约编译后才可用。你可以在上图中看到可以复制的 ABI。请随身携带。我们一会儿就需要它。
3.4. 选择“部署和运行交易”选项卡:并按如下方式部署合约:
0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb
3.5. 单击“transact”按钮以将合约部署到你的私有节点网络;完成后,你将看到类似于以下内容:
3.6. 复制合约的地址并访问你个人分叉测试网的区块链浏览器(链接可在 home.buildbear.io 上的仪表板页面上找到)并找到你的合约。
3.6.1. 提交合约的 ABI 以方便交互
你可以访问 BuildBear 的区块链浏览器上的合约页面,然后访问合约选项卡。你应该看到类似于以下内容:
提交我们从步骤 3.3 复制的 ABI;完成后,你应该在“合约页面”上看到“读取合约”和“写入合约”按钮:
6.1. 访问 Write Contract
选项卡并连接你的钱包:
6.2. 你必须只调用 createFlashLoan
6.3. 在 createFlashLoan 的“Arguments”字段中,输入你要借入的 token 地址(确保此 token 已在 Aave 上列出)和你要借入的金额。由于我们从水龙头铸造了 USDC,我们将使用 USDC 地址并借入 10,000,000.000000 [一千万](请注意,USDC 有 6 位小数,因此请注意零的数量)
6.3. 单击该按钮后,MetaMask 应该会出现,提示你批准该交易。确认交易后,你应该会看到一条成功消息。要在区块链上验证交易,请转到你的 Buildbear 仪表板并单击“打开资源管理器”。从那里,单击“显示所有交易”,你应该会看到你的交易已列出。
我们成功地编写了闪电贷的智能合约!我们能够从资金池中借用 USDC,支付闪电贷费用,然后在一次交易中偿还借入的金额。你刚刚在没有抵押品的情况下借了钱!
这只花了大约 15 分钟
如果你欣赏我们所做的工作,请在Twitter、LinkedIn上关注我们,如果你尚未加入 加入 Telegram 群组。
如果你喜欢我们的工作,请给我们一个掌声 👏。
顺便说一句,如果你认识任何人有兴趣与 BuildBear 合作。请查看这里!
- 原文链接: medium.com/buildbear/lea...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!