譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
概述
Aave,以前稱為ETHLender,現在是DeFi領域的前沿應用。Aave是該領域中第一個提出閃電貸概念的人。在閃電貸之前,你必須用一個超額抵押的資產來借貸另一個資產。例如,如果我想借一個DAI),我將不得不存入另一個超過該價值的加密貨幣。換句話說,你必須有錢才能借到錢。閃電貸打破了這種想法。他們為一個新的貸款系統打開了大門,并且做到了這一點,允許用戶在不提供任何東西作為抵押的情況下借款。
在本教程中,你將了解到閃電貸是如何實現的,以及如何自己實現執行一筆閃電貸。
關于Aave
摘自Aave官網:Aave是一個去中心化的非托管流動性市場協議,用戶可以作為存款人或借款人參與。儲戶向市場提供流動性,以賺取被動收入,而借款人能夠以過度抵押或不足抵押的方式借款。
這個定義完全正確的,但如果你不熟悉DeFi行業的行話,你可能并不理解它的含義。你可以把Aave看成是一個去中心化的偽銀行。Aave沒有一個驗證所有交易的中央銀行,而是利用智能合約,以自動化的方式完成所有這些工作。存款人將他們的代幣放入Aave,并開始為他們的存款賺取利息。另一方面,借款人會做相反的事情。他們從Aave中取出錢,并開始對所借的金額計息。不過他們必須超額抵押才能借到錢。
對于那些不想把錢存入Aave,而只想借錢的人來說,還有一種方法。這就是我們前面提到的閃電貸。
關于閃電貸
之前提到的閃電貸是一種在區塊鏈上借入資產的新方式。最初由Aave實現,其他趨勢性的DeFi協議,如dYdX迅速跟進,增加了這個新功能。所有以太坊交易的一個特性,使閃電貸成為可能。而這個關鍵特性就是原子性#:~:text=一個原子交易就是,直接拒絕整個系列。)。
Genesis Mining運營主管:無論交易費用如何,比特幣都是很好的價值存儲手段:針對比特幣及其區塊鏈網絡是否能在不需要第二層解決方案的情況下作為一種價值儲存手段被主流采用,比特幣采礦公司Genesis Mining運營主管Philip Salter表示,無論交易費用如何,比特幣都是一種很好的價值存儲手段。費用越高,能夠有效轉移的最小價值也就越大。然而,如今比特幣被更多地視為一種價值儲存手段,而非數字現金。Philip Salter認為,這種觀念的轉變仍可能引發一些問題。他說:“幾年前,由于交易費用實際上為零,所以1美元的存儲和傳輸是可行的。目前,發送一筆交易很容易花費15美元,所以再發送1美元是不明智的。如果這一趨勢繼續下去,由于更多的比特幣使用和更高的比特幣價格,它將禁止普通金額的價值轉移,它將只會成為非常大金額的有效價值存儲。”Salter補充道:“這就是為什么我認為第二層解決方案不僅對于比特幣作為貨幣的使用是必要的,而且對于比特幣作為價值儲存手段的長期可行性也是必要的。”(Cointelegraph)[2021/1/22 16:48:07]
一個交易的操作系列是不可分割和不可消減的,它就是原子的。簡單來說就是:要么_所有執行_,要么_什么都沒有_發生。沒有中間狀態!閃電貸利用原子性,允許用戶在不提交抵押品的情況下先進行借款。首先,每當你在閃電貸中借入一項資產時,你必須支付貸款金額的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
直播|Higer :DeFi與ETH2.0如何引領下一個區塊鏈時代?:金色財經 · 直播主辦的金點Trend《2020 DeFi Dai飛嗎?》馬上開始!DeFi生態里,我們還應該狙擊哪些項目?成長空間是多少?應該關注哪些風險?16:00準時開播!本場嘉賓來自區塊鏈研習社的創始人Higer分享“DeFi與ETH2.0如何引領下一個區塊鏈時代”,請掃碼移步收聽。[2020/7/31]
}
總而言之,我們首先要導入執行閃電貸所需的依賴。其中一些依賴關系被稱為抽象合約)。一個抽象合約至少有個函數沒有實現。你可以把它想象成一個房子的圖紙。一個建筑商使用這個圖紙來建造房子。然而,在我們的比喻中,圖紙是一個抽象合約,你是建造者,而房子是派生合約。
在我們的案例中,閃電貸合約使用的是一個名為FlashLoanReceiverBaseV1的抽象合約,它提供了必要的實現細節,如閃電貸的償還。
現在來逐行解讀代碼:
1首先,我們必須定義solidity編譯器的版本。在這個例子中,它是0.6.6。
2-4為智能合約導入依賴項#6FlashLoanV1合約是繼承自FlashLoanReceiverBaseV1合約。
8傳遞了Aave的一個借貸池提供者的地址。在這個例子中,我們提供的是DAI借貸池的地址。
13定義了一個叫做flashLoan的函數。參數是想要閃電貸的資產地址。在這種情況下,該資產是DAI。
14由于這里不需要任何閃電貸的數據,所以我們傳遞一個空字符串。
15.定義我們想要借出的DAI的數量。
16.通過Aave提供的ILendingPoolV1初始化LendingPool接口,這樣我們就可以調用flashLoan函數。#17.最后,調用flashLoan函數。該函數需要4個主要參數。首先,傳遞將接收貸款的地址。在我們的例子中,它是當前合約。其次,我們傳遞資產的地址。在我們的例子中,它是Kovan網絡中DAI的地址。第三,傳遞資產的數量,在我們的案例中,它是1個ether單位的數量。第四,傳遞額外的空數據。
掌柜調查署 | Matrixport如何實現0息借貸:4月23日18:00,金色財經將邀請Matrixport高級副總裁林榕做客「掌柜調查署」。本期調查署將針對Matrixport推出的“0息借貸”進行深入“拷問”,帶大家一起了解Matrixport如何做到0息借貸惠澤大眾。詳情見原文鏈接。[2020/4/23]
24-31.接下來第二個函數executeOperation。這就是我們利用閃電貸的地方。它在flashLoan函數成功執行后被內部調用。它需要4個主要參數,分別是:
1).必須償還貸款的儲備資產地址。2).資產的數額3).協議書所收取的費用4).額外的參數,由函數內部使用。
33.檢查我們是否收到了適當的貸款金額,否則它將拋出一個錯誤信息。
34.在這里,可以根據你自己的使用場景,定制自己的實現邏輯。
40.我們通過使用SafeMaths庫提供的add函數,將費用和貸款金額加在一起。
41.最后,把總的債務或貸款金額還給貸款人。
部署合約
首先,打開你的MetaMask,將你的網絡設置為Kovan測試網絡。Kovan測試網絡
使用這個gist代碼來定義flashloan智能合約的依賴關系。點擊每個鏈接并將代碼粘貼到你之前創建的相應的Solidity文件中:a.ILendingPoolb.IFlashLoanReceiverc.ILendingPoolAddressesProviderd.FlashLoanReceiverBasee.WithdrawableSolidity文件
切換到SolidityCompiler標簽。將編譯器設置為0.6.6并點擊compileFlashLoan.sol。
你應該看到一些警告,但沒有錯誤信息。
動態 | Kyle Samani發推質疑Block.one如何在兩年時間花掉 8 億美元:著名區塊鏈投資機構 Multicoin 創始合伙人 Kyle Samani 發推質疑 EOS 背后的開發公司 Block.one 如何在兩年時間中燒掉 8 億美元。Kyle Samani 發表推文稱,如果 Block.one 通過 ICO 融資了 40 億美元,現在的資產負債表上有 32 億美元的資產,那么這家有 200 名員工的公司如何在兩年時間里花掉了 8 億美元現金?Kyle Samani 還稱,Block.one 進行了 1.8 億美元風險投資,但這不是支出,即便把這些投資的賬面資產都減記為 0 ,時間也不夠用。而 Staked.us 的聯合創始人 Jonathan Marcus 則表示,Block.one 花費的那 8 億美元中,最少有 5.3 億美元用于股權回購,因為 Block.one 過去兩年共進行了兩次股權回購,一次花費了 3 億美元,最近又回購了 2.3 億美元的股權。[2019/6/3]
現在,我們已經準備好將合約部署到Kovan網絡。切換到Deploy&RunTransctions標簽。把部署環境,從JavaScriptVM改為InjectedWeb3。這應該會打開MetaMask詢問你的權限。
部署環境
確保合約選擇的是FlashLoan.sol。在部署按鈕旁邊的文本字段中提供LendingPool的地址。在我們的例子中,它將是0x506B0B2CF20FAA8f38a4E2B524EE43e1f4458Cc5。然后點擊Deploy(部署),它應該會打開MetaMask。注意。所有已部署的合約地址列表可在這里找到。在那里,你可以找到Aave支持的各種借貸池的地址。雖然每個代幣的地址都不同,但程序是相同的。
點擊確認(Confirm)。這樣做后,你應該看到MetaMask發出的成功通知。之后側邊欄應該有一個“已部署的合約”。為閃電貸準備資金
動態 | 南非稅務署正研究如何識別逃稅的加密貨幣交易者:據CCN報道,南非稅務機關南非稅務署(SARS)正在調查識別逃稅的加密貨幣交易員的方法。該機構專員Mark Kingon最近在約翰內斯堡的內部審計協會會議上說,該機構正在研究如何發現不符合要求的加密貨幣交易員,以調查任何未能從投資中申報利潤的情況。[2018/8/21]
在新的已部署合約標簽下,可以復制已部署合約的地址。我們稍后會回到這一步;與此同時,我們需要給閃電貸合約添加一些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:將改變我們的世界!
為幫助用戶更輕松實現數字資產量化交易,Gate.io量化交易中心全面升級,改名“量化跟單”全新上線,功能及頁面全面升級.
1900/1/1 0:00:008月9號比特幣行情分析:8月9號BTC從凌晨觸及43300一線止跌,然后小幅反彈至44500一線承壓再次下跌,在上午9點觸及42800一線止跌后,行情開始震蕩上行,在下午5點急速上漲,破位前高.
1900/1/1 0:00:00雖然Filecoin主網上線不足一年,但無論是從Filecoin網絡存儲規模、日存儲增量、資本生態方面來分析.
1900/1/1 0:00:00本周二,美SEC將決定是否通過Valkyrie比特幣ETF及VanEck比特幣ETF的申請。根據統計,目前已經有11家機構向美SEC提交了比特幣ETF申請,其中VanEckBitcoinTrus.
1900/1/1 0:00:00多頭再強勢蓋不了看空的聲音,趨勢再明顯低不過人心的貪婪,無論多么明顯的行情總會有人想著去反向抓最大的利潤,很多人做交易總是免不了主觀意識上的叛逆貪婪,總想著逆勢操作去利益最大化.
1900/1/1 0:00:00本文節選的心得整理自2014年,當時馬克安德森的風險投資公司AndreessenHorowitz已向與比特幣相關的初創企業投資了近5000萬美元。該公司正在積極尋找更多基于比特幣的投資機會.
1900/1/1 0:00:00