木星链 木星链
Ctrl+D收藏木星链
首页 > SOL > 正文

HTT:如何使用 Aave 进行闪电贷

作者:

时间:1900/1/1 0:00:00

译文出自:登链翻译计划

译者:翻译小组

校对:Tiny熊

概述

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

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

关于Aave

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

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

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

关于闪电贷

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

观点:无论与SEC的诉讼结果如何 对Ripple而言都不是致命打击:1月27日消息,针对美国SEC对Ripple发起的诉讼,律师Jeremy Hogan表示,如果诉讼最终对Ripple有利,在诉讼结束时,XRP价格将上涨2至3倍将只是一个“保守估计”。无论诉讼得出什么结论,对Ripple来说都不是致命的打击。如果诉讼结果不佳,导致Ripple关闭,XRP可能会归零,但这种情况不太可能发生。因为Ripple是一个技术公司,不太依赖实物资产运营。最糟糕的情况可能是其商业模式遭破坏,最终可能退出美国市场。Jeremy Hogan称,SEC诉讼最可能的结果将是双方达成和解。SEC可能会对Ripple包括其2013-2014年度(甚至2015年)的业务处以巨额罚款,以及对托管XRP销售业务进行某种控制或限制。(AMBCrypto)[2021/1/27 21:48:59]

一个交易的操作系列是不可分割和不可消减的,它就是原子的。简单来说就是:要么_所有执行_,要么_什么都没有_发生。没有中间状态!闪电贷利用原子性,允许用户在不提交抵押品的情况下先进行借款。首先,每当你在闪电贷中借入一项资产时,你必须支付贷款金额的0

/**Thisfunctioniscalledafteryourcontracthasreceivedtheflashloanedamount*/functionexecuteOperation(address_reserve,uint256_amount,uint256_fee,bytescalldata_params)externaloverride{require(_amount<=getBalanceInternal(address(this),_reserve),"Invalidbalance,wastheflashLoansuccessful?");////Yourlogicgoeshere.//!!Ensurethat*thiscontract*hasenoughof`_reserve`fundstopaybackthe`_fee`!!//uinttotalDebt=_amount

Genesis Mining运营主管:无论交易费用如何,比特币都是很好的价值存储手段:针对比特币及其区块链网络是否能在不需要第二层解决方案的情况下作为一种价值储存手段被主流采用,比特币采矿公司Genesis Mining运营主管Philip Salter表示,无论交易费用如何,比特币都是一种很好的价值存储手段。费用越高,能够有效转移的最小价值也就越大。然而,如今比特币被更多地视为一种价值储存手段,而非数字现金。Philip Salter认为,这种观念的转变仍可能引发一些问题。他说:“几年前,由于交易费用实际上为零,所以1美元的存储和传输是可行的。目前,发送一笔交易很容易花费15美元,所以再发送1美元是不明智的。如果这一趋势继续下去,由于更多的比特币使用和更高的比特币价格,它将禁止普通金额的价值转移,它将只会成为非常大金额的有效价值存储。”Salter补充道:“这就是为什么我认为第二层解决方案不仅对于比特币作为货币的使用是必要的,而且对于比特币作为价值储存手段的长期可行性也是必要的。”(Cointelegraph)[2021/1/22 16:48:07]

}

总而言之,我们首先要导入执行闪电贷所需的依赖。其中一些依赖关系被称为抽象合约)。一个抽象合约至少有个函数没有实现。你可以把它想象成一个房子的图纸。一个建筑商使用这个图纸来建造房子。然而,在我们的比喻中,图纸是一个抽象合约,你是建造者,而房子是派生合约。

在我们的案例中,闪电贷合约使用的是一个名为FlashLoanReceiverBaseV1的抽象合约,它提供了必要的实现细节,如闪电贷的偿还。

现在来逐行解读代码:

1首先,我们必须定义solidity编译器的版本。在这个例子中,它是0.6.6。

2-4为智能合约导入依赖项#6FlashLoanV1合约是继承自FlashLoanReceiverBaseV1合约。

直播|Philip Gradwell:如何知道新一轮牛市是否到来:金色财经 · 直播主办的金点Trend《以太坊之外的DeFi,香吗? 》马上开始!16:30准时开播!本场嘉宾来自Chainalysis的首席经济分析师分享“如何知道新一轮牛市是否到来”,请扫码移步收听![2020/8/28]

8传递了Aave的一个借贷池提供者的地址。在这个例子中,我们提供的是DAI借贷池的地址。

13定义了一个叫做flashLoan的函数。参数是想要闪电贷的资产地址。在这种情况下,该资产是DAI。

14由于这里不需要任何闪电贷的数据,所以我们传递一个空字符串。

15.定义我们想要借出的DAI的数量。

16.通过Aave提供的ILendingPoolV1初始化LendingPool接口,这样我们就可以调用flashLoan函数。#17.最后,调用flashLoan函数。该函数需要4个主要参数。首先,传递将接收贷款的地址。在我们的例子中,它是当前合约。其次,我们传递资产的地址。在我们的例子中,它是Kovan网络中DAI的地址。第三,传递资产的数量,在我们的案例中,它是1个ether单位的数量。第四,传递额外的空数据。

24-31.接下来第二个函数executeOperation。这就是我们利用闪电贷的地方。它在flashLoan函数成功执行后被内部调用。它需要4个主要参数,分别是:

1).必须偿还贷款的储备资产地址。2).资产的数额3).协议书所收取的费用4).额外的参数,由函数内部使用。

33.检查我们是否收到了适当的贷款金额,否则它将抛出一个错误信息。

34.在这里,可以根据你自己的使用场景,定制自己的实现逻辑。

40.我们通过使用SafeMaths库提供的add函数,将费用和贷款金额加在一起。

直播 |“后浪”仙女鱼池-青青如何乘风破浪:金色财经 · 直播主办的《 币圈 “后浪” 仙女直播周》第7期11:00 F2Pool 鱼池|CMO青青将在直播间聊聊“币圈‘后浪’仙女如何乘风破浪”,感兴趣的朋友扫码移步收听![2020/7/2]

41.最后,把总的债务或贷款金额还给贷款人。

部署合约

首先,打开你的MetaMask,将你的网络设置为Kovan测试网络。Kovan测试网络

使用这个gist代码来定义flashloan智能合约的依赖关系。点击每个链接并将代码粘贴到你之前创建的相应的Solidity文件中:a.ILendingPoolb.IFlashLoanReceiverc.ILendingPoolAddressesProviderd.FlashLoanReceiverBasee.WithdrawableSolidity文件

切换到SolidityCompiler标签。将编译器设置为0.6.6并点击compileFlashLoan.sol。

你应该看到一些警告,但没有错误信息。

现在,我们已经准备好将合约部署到Kovan网络。切换到Deploy&RunTransctions标签。把部署环境,从JavaScriptVM改为InjectedWeb3。这应该会打开MetaMask询问你的权限。

部署环境

确保合约选择的是FlashLoan.sol。在部署按钮旁边的文本字段中提供LendingPool的地址。在我们的例子中,它将是0x506B0B2CF20FAA8f38a4E2B524EE43e1f4458Cc5。然后点击Deploy(部署),它应该会打开MetaMask。注意。所有已部署的合约地址列表可在这里找到。在那里,你可以找到Aave支持的各种借贷池的地址。虽然每个代币的地址都不同,但程序是相同的。

动态 | 芬兰海关对如何处理缴获的比特币感到困惑:金色财经报道,芬兰财政部下属的海关一直在考虑如何处理几年前从贩手中缴获的1666枚比特币。据悉,芬兰海关不想拍卖没收的比特币,因为可能会将其返还给犯罪分子。这些比特币在没收的时候价值不到70万欧元(约合76万美元)。根据Coin360的数据,截至目前,这1666枚比特币的价值接近1500万欧元(超过1550万美元)。据报道,该机构最初计划在2018年拍卖这些资金,但最终以“反”为由冻结了这些比特币。报告指出,除了持有超过1500万美元的比特币外,芬兰海关还持有一些价值数百万欧元的山寨币。[2020/2/26]

点击确认(Confirm)。这样做后,你应该看到MetaMask发出的成功通知。之后侧边栏应该有一个“已部署的合约”。为闪电贷准备资金

在新的已部署合约标签下,可以复制已部署合约的地址。我们稍后会回到这一步;与此同时,我们需要给闪电贷合约添加一些DAI。这是因为闪电贷需要合约中的资金才能成功执行。为此,你可以跳转到水龙头链接,获得一些DAI代币。点击Faucet,粘贴你的MetaMask钱包地址,然后等待确认。

获得确认后,我们将把DAI代币添加到MetaMask中。为此,打开你的MetaMask。点击底部的AddToken。在代币合约地址栏输入0xF795577d9AC8bD7D90Ee22b6C1703490b6512FD。这是Kovan的DAI的合约地址。点击下一步后,它应该显示你先前从水龙头得到的DAI。

img

接下来,点击DAI代币。点击发送,它应该打开一个类似于下图的窗口:

输入我们的闪电贷的合约地址,之前已经复制了该地址。输入我们要发送的金额。在我们的案例中,发送10DAI。然后点击下一步。点击确认!你现在已经成功地给你的闪电贷合约发送了10DAI。

执行闪电贷

回到Remix,在部署的闪电贷合约下,还有一个flashloan函数。这个函数需要一个我们想使用的资产的合约地址。在我们的例子中,它是Kovan测试网的DAI合约,是0xF795577d9AC8bD7D90Ee22b6C1703490b6512FD。正确填写该字段后,你现在可以点击交易按钮,如下图所示:

点击按钮后,MetaMask会弹出交易确认。确认交易后,你应该收到一条成功信息。在Remix的终端,你应该看到一个URL。点击后会跳转到Etherscan。

remix

在代币转移下,你应该看到三个不同的转账:

红色的箭头强调了从LendingPool转移1个DAI到我们的合约。橙色的箭头表示将1个DAI连同费用一起返还给Landingpool。蓝色的箭头表示产生利息的DAI。

小结

我们成功地编写了闪电贷的智能合约,它能够从资金池中借入DAI,支付闪电贷费用,然后在一次交易中偿还所借金额。不需要没有任何抵押物就借到了钱!

本翻译由CellETF赞助支持。

来源:HowtoMakeaFlashLoanusingAave

参考资料

登链翻译计划:https://github.com/lbc-team/Pioneer

翻译小组:https://learnblockchain.cn/people/412

Tiny熊:https://learnblockchain.cn/people/15

闪电贷:https://aave.com/flash-loans/

闪电贷:https://learnblockchain.cn/tags/闪电贷

Aave官网:https://aave.com/

超额抵押:https://www.oxfordreference.com/view/10.1093/oi/authority.20110803100257900

dYdX:https://dydx.exchange/

资产间套利:https://en.wikipedia.org/wiki/Arbitrage

RemixIDE:https://remix.ethereum.org/

以太坊智能合约:https://ethereum.org/en/developers/docs/smart-contracts/

跟我学Solidity:开发环境:https://learnblockchain.cn/article/1755

MetaMask:https://metamask.io/

Solidity:https://learnblockchain.cn/docs/solidity/

全面掌握Solidity智能合约开发:https://learnblockchain.cn/column/1

抽象合约:https://learnblockchain.cn/docs/solidity/contracts.html#abstract-contract

ILendingPool:https://gist.github.com/akp111/e254b2b5b98aa5a79f3f8dc501dfaedb#file-ilendingpool-sol

IFlashLoanReceiver:https://gist.github.com/akp111/e254b2b5b98aa5a79f3f8dc501dfaedb#file-iflashloanreceiver-sol

ILendingPoolAddressesProvider:https://gist.github.com/akp111/e254b2b5b98aa5a79f3f8dc501dfaedb#file-ilendingpooladdressesprovider-sol

FlashLoanReceiverBase:https://gist.github.com/akp111/e254b2b5b98aa5a79f3f8dc501dfaedb#file-flashloanreceiverbase-sol

Withdrawable:https://gist.github.com/akp111/e254b2b5b98aa5a79f3f8dc501dfaedb#file-withdrawable-sol

这里:https://docs.aave.com/developers/v/1.0/deployed-contracts/deployed-contract-instances

水龙头:https://testnet.aave.com/faucet/DAI

CellETF:https://celletf.io/?utm_souce=learnblockchain

HowtoMakeaFlashLoanusingAave:https://www.quicknode.com/guides/defi/how-to-make-a-flash-loan-using-aave

免责声明:作为区块链信息平台,本站所发布文章仅代表作者个人观点,与链闻ChainNews立场无关。文章内的信息、意见等均仅供参考,并非作为或被视为实际投资建议。

本文来源于非小号媒体平台:

登链社区

现已在非小号资讯平台发布105篇作品,

非小号开放平台欢迎币圈作者入驻

入驻指南:

/apply_guide/

本文网址:

/news/10232365.html

免责声明:

1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险

2.本文版权归属原作所有,仅代表作者本人观点,不代表非小号的观点或立场

上一篇:

比尔·盖茨再谈ChatGPT:将改变我们的世界!

标签:HTTTPSLASHLASCHTTtps币圈Clash of GodsThe Last McAfee Token

SOL热门资讯
区块链:加拿大公共艺术展览组织Vancouver Biennale将推出以Kusama为原型的数字艺术AR装置

据Cointelegraph8月9日消息,加拿大公共艺术展览组织VancouverBiennale正准备推出一个用区块链技术结合物理和数字现实的艺术装置.

1900/1/1 0:00:00
IOT:媒体报道:逐渐崛起的IoTeX正在不断抢占IOTA的市场份额

科技博主OgwuOsaemezuEmmanuel长期关注物联网区块链行业,对IoTeX和IOTA的市场发展以及潜力有着深刻见解.

1900/1/1 0:00:00
KEX:BKEX Global 关于上线 SUPER(SuperFarm)并开放充值功能的公告

尊敬的用户:?????????????BKEXGlobal即将上线SUPER,详情如下:上线交易对:SUPER/USDT??币种类型:ERC20充值功能开放时间:已开放交易功能开放时间:2021.

1900/1/1 0:00:00
比特币:货币进化史 从贝壳到加密货币 内在价值不断跌落

比特币的未来和突然走红的T恤7月21日,在「TheBWord」大会上,来自特斯拉的CEO埃隆·马斯克,推特CEO杰克·多尔西以及被称为女股神的凯西·伍德三位大咖,通过线上连线.

1900/1/1 0:00:00
MEV:MEV才是“后EIP-1559时代”更值得探讨的话题

原文作者:VikramArun,BlockTower?Capital,经Odaily星球日报Rilak编译.

1900/1/1 0:00:00
FIL:灰度18次增持2570FIL疯狂逆人性操作背后暗藏投资之道

美东时间8月4日,灰度FIL信托公布第18次增持了2570FIL,共持有6.84万枚FIL,持仓较上次的6.583万枚增长4%,自成立以来首批获利幅度达1.42%.

1900/1/1 0:00:00