如何使用Aave进行闪电贷

使用以太坊交易的原子性,在一笔交易中,执行完整的借款及还款。

> * 原文:[How to Make a Flash Loan using Aave](https://www.quicknode.com/guides/defi/how-to-make-a-flash-loan-using-aave) > * 译文出自:[登链翻译计划](https://github.com/lbc-team/Pioneer) > * 译者:[翻译小组](https://learnblockchain.cn/people/412) > * 校对:[Tiny 熊](https://learnblockchain.cn/people/15) > * 本文永久链接:[learnblockchain.cn/article…](https://learnblockchain.cn/article/1) ## 概述 Aave,以前称为ETHLender,现在是DeFi领域的前沿应用。Aave是该领域中第一个提出[闪电贷](https://aave.com/flash-loans/)概念的人。在闪电贷之前,你必须用一个超额抵押的资产来借贷另一个资产。例如,如果我想借一个[DAI](https://en.wikipedia.org/wiki/Dai_(cryptocurrency)),我将不得不存入另一个超过该价值的加密货币。换句话说,你必须有钱才能借到钱。闪电贷打破了这种想法。他们为一个新的贷款系统打开了大门,并且做到了这一点,允许用户在不提供任何东西作为抵押的情况下借款。 在本教程中,你将了解到[闪电贷](https://learnblockchain.cn/tags/%E9%97%AA%E7%94%B5%E8%B4%B7)是如何实现的,以及如何自己实现执行一笔闪电贷。 ## 关于Aave 摘自[Aave官网](https://aave.com/):Aave是一个去中心化的非托管流动性市场协议,用户可以作为存款人或借款人参与。储户向市场提供流动性,以赚取被动收入,而借款人能够以过度抵押(永久)或不足抵押(单块流动性)的方式借款。 这个定义完全正确的,但如果你不熟悉DeFi行业的行话,你可能并不理解它的含义。你可以把Aave看成是一个去中心化的伪银行。Aave没有一个验证所有交易的中央银行,而是利用智能合约,以自动化的方式完成所有这些工作。存款人将他们的代币放入Aave,并开始为他们的存款赚取利息。另一方面,借款人会做相反的事情。他们从Aave中取出钱,并开始对所借的金额计息。不过他们必须[超额抵押](https://www.oxfordreference.com/view/10.1093/oi/authority.20110803100257900)才能借到钱。 对于那些不想把钱存入Aave,而只想借钱的人来说,还有一种方法。这就是我们前面提到的闪电贷。 ## 关于闪电贷(Flash Loan) 之前提到的闪电贷是一种在区块链上借入资产的新方式。最初由Aave实现,其他趋势性的DeFi协议,如[dYdX](https://dydx.exchange/)迅速跟进,增加了这个新功能。所有以太坊交易的一个特性,使闪电贷成为可能。而这个关键特性就是[原子性](https://en.wikipedia.org/wiki/Atomicity_(database_systems)#:~:text=一个原子交易就是,直接拒绝整个系列。)。 一个交易的操作系列是不可分割和不可消减的,它就是原子的。简单来说就是:要么*所有执行*,要么*什么都没有*发生。没有中间状态! 闪电贷利用原子性,允许用户在不提交抵押品的情况下先进行借款。首先,每当你在闪电贷中借入一项资产时,你必须支付贷款金额的0.09%的费用。其次,你必须在借贷的同一交易中偿还贷款。虽然这种能力很好,但它的用途却有些局限。闪电贷主要用于[资产间套利](https://en.wikipedia.org/wiki/Arbitrage)。 ## Remix设置 为了简单起见,我们将使用[Remix IDE](https://remix.ethereum.org/)。 Remix 是一个基于浏览器的IDE。也被称为集成开发环境。Remix具有编写、调试、部署和操作[以太坊智能合约](https://ethereum.org/en/developers/docs/smart-contracts/)的能力。 浏览器中加载Remix后,你会看到这个菜单: ![pasted image 0](https://img.learnblockchain.cn/pics/20210805093754.png) 这里不会对IDE进行深入的研究(你可以阅读[跟我学 Solidity :开发环境](https://learnblockchain.cn/article/1755)),因为本教程的重点是闪电贷。不过,你需要了解一下上图的四个部分:主面板、侧边面板、图标面板和终端面板。 在我们开始编写智能合约之前,我们要下载一个浏览器插件,现在最流行的是[MetaMask](https://metamask.io/),使我们能够与以太坊区块链对接。 ## MetaMask安装 如何安装MetaMask: 1. 你将开始从网站https://metamask.io/上下载扩展程序。 2. 点击你新安装的扩展程序,并同意条款和条件。 3. 创建一个安全的密码! 4. 备份助记词,它应该物理存在,不应该保存在你的电脑上的任何地方。 如果上述四个步骤都完成了,你就可以开始编写你的第一个智能合约了! ## 智能合约 智能合约允许我们通过执行确定性的程序来读写区块链的数据。我们使用一种名为[Solidity](https://learnblockchain.cn/docs/solidity/)的编程语言编写以太坊智能合约。Solidity文件以.sol扩展名结尾。 > 欢迎订阅[全面掌握Solidity智能合约开发](https://learnblockchain.cn/column/1) 你可以在第一次启动Remix时删除工作区中可能存在的任何文件。 然后创建几个文件: 1. **FlashLoan.sol** 2. **FlashLoanReceiverBase.sol** 3. **ILendingPoolAddressesProvider.sol** 4. **IFlashLoanReceiver.sol** 5. **ILendingPool.sol** 6. **Withdrawable.sol** 下面的代码片断是**FlashLoan.sol**.的实现。 这个闪电贷将借入1 [DAI](https://en.wikipedia.org/wiki/Dai_(cryptocurrency))。 ```javascript pragma solidity ^0.6.6; import "./FlashLoanReceiverBase.sol"; import "./ILendingPoolAddressesProvider.sol"; import "./ILendingPool....

  • 原文:How to Make a Flash Loan using Aave
  • 译文出自:登链翻译计划
  • 译者:翻译小组
  • 校对:Tiny 熊
  • 本文永久链接:learnblockchain.cn/article…

概述

Aave,以前称为ETHLender,现在是DeFi领域的前沿应用。Aave是该领域中第一个提出闪电贷概念的人。在闪电贷之前,你必须用一个超额抵押的资产来借贷另一个资产。例如,如果我想借一个DAI,我将不得不存入另一个超过该价值的加密货币。换句话说,你必须有钱才能借到钱。闪电贷打破了这种想法。他们为一个新的贷款系统打开了大门,并且做到了这一点,允许用户在不提供任何东西作为抵押的情况下借款。

在本教程中,你将了解到闪电贷是如何实现的,以及如何自己实现执行一笔闪电贷。

关于Aave

摘自Aave官网:Aave是一个去中心化的非托管流动性市场协议,用户可以作为存款人或借款人参与。储户向市场提供流动性,以赚取被动收入,而借款人能够以过度抵押(永久)或不足抵押(单块流动性)的方式借款。

这个定义完全正确的,但如果你不熟悉DeFi行业的行话,你可能并不理解它的含义。你可以把Aave看成是一个去中心化的伪银行。Aave没有一个验证所有交易的中央银行,而是利用智能合约,以自动化的方式完成所有这些工作。存款人将他们的代币放入Aave,并开始为他们的存款赚取利息。另一方面,借款人会做相反的事情。他们从Aave中取出钱,并开始对所借的金额计息。不过他们必须超额抵押才能借到钱。

对于那些不想把钱存入Aave,而只想借钱的人来说,还有一种方法。这就是我们前面提到的闪电贷。

关于闪电贷(Flash Loan)

之前提到的闪电贷是一种在区块链上借入资产的新方式。最初由Aave实现,其他趋势性的DeFi协议,如dYdX迅速跟进,增加了这个新功能。所有以太坊交易的一个特性,使闪电贷成为可能。而这个关键特性就是原子性。

一个交易的操作系列是不可分割和不可消减的,它就是原子的。简单来说就是:要么所有执行,要么什么都没有发生。没有中间状态! 闪电贷利用原子性,允许用户在不提交抵押品的情况下先进行借款。首先,每当你在闪电贷中借入一项资产时,你必须支付贷款金额的0.09%的费用。其次,你必须在借贷的同一交易中偿还贷款。虽然这种能力很好,但它的用途却有些局限。闪电贷主要用于资产间套利。

Remix设置

为了简单起见,我们将使用Remix IDE。 Remix 是一个基于浏览器的IDE。也被称为集成开发环境。Remix具有编写、调试、部署和操作以太坊智能合约的能力。 浏览器中加载Remix后,你会看到这个菜单:

这里不会对IDE进行深入的研究(你可以阅读跟我学 Solidity :开发环境),因为本教程的重点是闪电贷。不过,你需要了解一下上图的四个部分:主面板、侧边面板、图标面板和终端面板。

在我们开始编写智能合约之前,我们要下载一个浏览器插件,现在最流行的是MetaMask,使我们能够与以太坊区块链对接。

MetaMask安装

如何安装MetaMask:

  1. 你将开始从网站https://metamask.io/上下载扩展程序。
  2. 点击你新安装的扩展程序,并同意条款和条件。
  3. 创建一个安全的密码!
  4. 备份助记词,它应该物理存在,不应该保存在你的电脑上的任何地方。

    如果上述四个步骤都完成了,你就可以开始编写你的第一个智能合约了!

智能合约

智能合约允许我们通过执行确定性的程序来读写区块链的数据。我们使用一种名为Solidity的编程语言编写以太坊智能合约。Solidity文件以.sol扩展名结尾。

欢迎订阅全面掌握Solidity智能合约开发

你可以在第一次启动Remix时删除工作区中可能存在的任何文件。 然后创建几个文件:

  1. FlashLoan.sol
  2. FlashLoanReceiverBase.sol
  3. ILendingPoolAddressesProvider.sol
  4. IFlashLoanReceiver.sol
  5. ILendingPool.sol
  6. Withdrawable.sol

    下面的代码片断是FlashLoan.sol.的实现。

    这个闪电贷将借入1 DAI。


pragma solidity ^0.6.6;
import "./FlashLoanReceiverBase.sol";
import "./ILendingPoolAddressesProvider.sol";
import "./ILendingPool....

剩余50%的内容订阅专栏后可查看

  • 单篇购买 10学分
  • 永久订阅专栏 (30学分)
  • 发表于 2021-08-05 22:38
  • 阅读 ( 2156 )
  • 学分 ( 6 )
  • 分类:DeFi
  • 专栏:热门 DEFI 分析

评论