譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
概述
Aave,以前稱為ETHLender,現在是DeFi領域的前沿應用。Aave是該領域中第一個提出閃電貸概念的人。在閃電貸之前,你必須用一個超額抵押的資產來借貸另一個資產。例如,如果我想借一個DAI),我將不得不存入另一個超過該價值的加密貨幣。換句話說,你必須有錢才能借到錢。閃電貸打破了這種想法。他們為一個新的貸款系統打開了大門,并且做到了這一點,允許用戶在不提供任何東西作為抵押的情況下借款。
在本教程中,你將了解到閃電貸是如何實現的,以及如何自己實現執行一筆閃電貸。
關于Aave
摘自Aave官網:Aave是一個去中心化的非托管流動性市場協議,用戶可以作為存款人或借款人參與。儲戶向市場提供流動性,以賺取被動收入,而借款人能夠以過度抵押或不足抵押的方式借款。
這個定義完全正確的,但如果你不熟悉DeFi行業的行話,你可能并不理解它的含義。你可以把Aave看成是一個去中心化的偽銀行。Aave沒有一個驗證所有交易的中央銀行,而是利用智能合約,以自動化的方式完成所有這些工作。存款人將他們的代幣放入Aave,并開始為他們的存款賺取利息。另一方面,借款人會做相反的事情。他們從Aave中取出錢,并開始對所借的金額計息。不過他們必須超額抵押才能借到錢。
對于那些不想把錢存入Aave,而只想借錢的人來說,還有一種方法。這就是我們前面提到的閃電貸。
關于閃電貸
之前提到的閃電貸是一種在區塊鏈上借入資產的新方式。最初由Aave實現,其他趨勢性的DeFi協議,如dYdX迅速跟進,增加了這個新功能。所有以太坊交易的一個特性,使閃電貸成為可能。而這個關鍵特性就是原子性#:~:text=一個原子交易就是,直接拒絕整個系列。)。
聲音 | Galaxy Digital創始人:山寨幣需要向比特幣學習如何逐步吸引用戶建立生態系統:加密公司Galaxy Digital創始人Mike Novogratz認為,并不是所有的山寨幣都會成功,但是一些具有潛力和價值的必須尋求建立渠道,以使人們和機構更容易購買它們。他表示:”有很多垃圾籌集了很多資金,但沒有可持續性。他們承諾要建立許多協議和生態系統,然后吸引用戶使用該生態系統,使之成為投機資產。為了保持投機市場的活力,需要時不時以新聞和更新的形式加油。我們必須將這些代幣視為風險投資。”同時他補充說,這些山寨幣之所以失敗,是因為它們在如何將人們引入其生態系統方面沒有發揮作用。他強調這樣的山寨幣必須仰賴比特幣,并觀察該生態系統如何為逐步采用奠定基礎。(AMBCrypto)[2019/10/7]
一個交易的操作系列是不可分割和不可消減的,它就是原子的。簡單來說就是:要么_所有執行_,要么_什么都沒有_發生。沒有中間狀態!閃電貸利用原子性,允許用戶在不提交抵押品的情況下先進行借款。首先,每當你在閃電貸中借入一項資產時,你必須支付貸款金額的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
動態 | 英國信息專員辦公室對Facebook發出如何保護個人數據的質詢函:據路透社報道,英國信息專員辦公室周一表示,其已經向Facebook和其他28家Libra項目背后的公司發送了一份聲明,要求他們提供有關如何根據與項目相關的數據保護法處理客戶個人數據的詳細信息。其同時呼吁,世界各地同行對Facebook提出的天秤幣采取更多開放態度。目Facebook沒有立即對其進行回復。[2019/8/6]
}
總而言之,我們首先要導入執行閃電貸所需的依賴。其中一些依賴關系被稱為抽象合約)。一個抽象合約至少有個函數沒有實現。你可以把它想象成一個房子的圖紙。一個建筑商使用這個圖紙來建造房子。然而,在我們的比喻中,圖紙是一個抽象合約,你是建造者,而房子是派生合約。
在我們的案例中,閃電貸合約使用的是一個名為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單位的數量。第四,傳遞額外的空數據。
聲音 | Robert Rosenblum:如果監管者將加密貨幣視為證券,應明確公眾如何購以及交易市場建立場地等問題:據CoinDesk消息,在Token Summit 2019會議上,Wilson SAonsini Goodrich&Rosati公司的律師Robert Rosenblum表示,他的公司通常將大多數加密貨幣視為證券。當時他的同事總是感覺存在差距,“那么,現在怎么辦?”換句話說,監管者需要解釋,如果代幣是證券,公眾應該如何購買,交易市場可以在哪里建立。Cosmos創始人Jae Kwon也提出類似觀點。他指出,沒有人知道如何以美國監管機構目前認可的方式經營去中心化交易所。但是Robert Rosenblum似乎覺得這是可以解決的,“只有當我們擁有一個運行良好的市場,我們才會有更多的經驗和更好的框架。”不過,這需要多長時間?這成了根本問題。緩慢折磨著快速發展的行業。歐洲合規公司MME的律師Andreas Glarner表示,來自歐洲的觀點是整個行業都很困惑:“大約五年后,答案是還不清楚。否則,我們不會坐在這里(討論)。那是外面的景色。[2019/5/18]
24-31.接下來第二個函數executeOperation。這就是我們利用閃電貸的地方。它在flashLoan函數成功執行后被內部調用。它需要4個主要參數,分別是:
1).必須償還貸款的儲備資產地址。2).資產的數額3).協議書所收取的費用4).額外的參數,由函數內部使用。
33.檢查我們是否收到了適當的貸款金額,否則它將拋出一個錯誤信息。
34.在這里,可以根據你自己的使用場景,定制自己的實現邏輯。
40.我們通過使用SafeMaths庫提供的add函數,將費用和貸款金額加在一起。
41.最后,把總的債務或貸款金額還給貸款人。
部署合約
聲音 | Ledger首席執行官:很多人仍然不知道如何保護他們的加密資產:法國硬件錢包制造商Ledger首席執行官EricLarchevêque表示,他對加密貨幣行業的未來持樂觀態度,他正在為“新一代消費者”做準備。然而,Larchevêque聲稱,在加密貨幣存儲教育方面,仍然是一個值得關注的領域,許多用戶無法充分保護他們的資金。談到Cryptopia黑客和2018年的其他各種損失,總額接近10億美元,Ledger首席執行官認為,很多人們仍然不知道如何保護他們的加密資產。[2019/2/5]
首先,打開你的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支持的各種借貸池的地址。雖然每個代幣的地址都不同,但程序是相同的。
聲音 | 羅玫:金融機構非常重視如何對加密貨幣進行計量:據數字金融資產研究中心微信公眾號消息,清華經管數字金融資產研究中心主任羅玫稱如何對加密數字貨幣進行計量是國際國內證券監管機構、稅務和會計準則制定機構都非常重視的領域,國際會計準則和美國GAAP都沒有對加密數字貨幣的會計計量和確認制定單獨準則。建立新的財務報告規范需要會計準則制定委員會的參與,也需要和正在經歷變化的加密數字貨幣的證券規范、以及稅務規范同時融合更新。[2018/11/27]
點擊確認(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:將改變我們的世界!
Gate.io已于上線BabyDogeCoin(BABYDOGE)交易,BABYDOGE超級福利今日開啟!活動期間充值BABYDOGE前600名平分3,000美金,交易排名前200名再享20.
1900/1/1 0:00:00ZICC全稱ZhianChain,是基于HECO構建的無需信任、高度去中心化的智能合約協議,采用DPOS機制,旨在打造共識,共創價值,共享財富,構建DeFi新生態.
1900/1/1 0:00:00現在的內容平臺頻繁出爐,讓你眼花繚亂,應接不暇。各種微信群轟炸。每天幾千條消息,信息量之大讓小安最近心思也分散了好多,很難集中注意力,把一件事情做好。也浪費了很多時間和精力.
1900/1/1 0:00:00尊敬的歐易OKEx用戶:歐易OKEx賺幣將于2021年8月9日11:00(HKT)正式開啟第二期加息項目申購通道。歐易OKEx賺幣將不定期上線各類資產的加息活動,敬請期待.
1900/1/1 0:00:00一、項目介紹 MVPCOIN(MVP)是一種實用代幣,用于訪問MVisionPublicCompanyLimited生態系統內的旅游和旅行相關服務.
1900/1/1 0:00:00鏈聞消息,有利于加密貨幣行業發展的美國加密稅收修正案因87歲的參議員RichardShelby反對,而無法納入基建法案.
1900/1/1 0:00:00