譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
概述
Aave,以前稱為ETHLender,現在是DeFi領域的前沿應用。Aave是該領域中第一個提出閃電貸概念的人。在閃電貸之前,你必須用一個超額抵押的資產來借貸另一個資產。例如,如果我想借一個DAI),我將不得不存入另一個超過該價值的加密貨幣。換句話說,你必須有錢才能借到錢。閃電貸打破了這種想法。他們為一個新的貸款系統打開了大門,并且做到了這一點,允許用戶在不提供任何東西作為抵押的情況下借款。
在本教程中,你將了解到閃電貸是如何實現的,以及如何自己實現執行一筆閃電貸。
關于Aave
摘自Aave官網:Aave是一個去中心化的非托管流動性市場協議,用戶可以作為存款人或借款人參與。儲戶向市場提供流動性,以賺取被動收入,而借款人能夠以過度抵押或不足抵押的方式借款。
這個定義完全正確的,但如果你不熟悉DeFi行業的行話,你可能并不理解它的含義。你可以把Aave看成是一個去中心化的偽銀行。Aave沒有一個驗證所有交易的中央銀行,而是利用智能合約,以自動化的方式完成所有這些工作。存款人將他們的代幣放入Aave,并開始為他們的存款賺取利息。另一方面,借款人會做相反的事情。他們從Aave中取出錢,并開始對所借的金額計息。不過他們必須超額抵押才能借到錢。
對于那些不想把錢存入Aave,而只想借錢的人來說,還有一種方法。這就是我們前面提到的閃電貸。
關于閃電貸
之前提到的閃電貸是一種在區塊鏈上借入資產的新方式。最初由Aave實現,其他趨勢性的DeFi協議,如dYdX迅速跟進,增加了這個新功能。所有以太坊交易的一個特性,使閃電貸成為可能。而這個關鍵特性就是原子性#:~:text=一個原子交易就是,直接拒絕整個系列。)。
美聯儲主席鮑威爾:很難判斷銀行危機如何造成經濟軟著陸預期發生變化:金色財經報道,美聯儲主席鮑威爾表示,經濟衰退風險是非線性的;很難判斷銀行危機如何造成軟著陸預期發生變化;美國仍然存在軟著陸機會,正設法找到那樣的機會。[2023/3/23 13:20:40]
一個交易的操作系列是不可分割和不可消減的,它就是原子的。簡單來說就是:要么_所有執行_,要么_什么都沒有_發生。沒有中間狀態!閃電貸利用原子性,允許用戶在不提交抵押品的情況下先進行借款。首先,每當你在閃電貸中借入一項資產時,你必須支付貸款金額的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
}
總而言之,我們首先要導入執行閃電貸所需的依賴。其中一些依賴關系被稱為抽象合約)。一個抽象合約至少有個函數沒有實現。你可以把它想象成一個房子的圖紙。一個建筑商使用這個圖紙來建造房子。然而,在我們的比喻中,圖紙是一個抽象合約,你是建造者,而房子是派生合約。
在我們的案例中,閃電貸合約使用的是一個名為FlashLoanReceiverBaseV1的抽象合約,它提供了必要的實現細節,如閃電貸的償還。
回溯3.12 如何跨越從爆倉到回本的鴻溝:4月27日20:00,波哥做客金色財經《幣情觀察室》直播間,將分享《回溯3.12 如何跨越從爆倉到回本的鴻溝》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可。[2020/4/27]
現在來逐行解讀代碼:
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單位的數量。第四,傳遞額外的空數據。
24-31.接下來第二個函數executeOperation。這就是我們利用閃電貸的地方。它在flashLoan函數成功執行后被內部調用。它需要4個主要參數,分別是:
1).必須償還貸款的儲備資產地址。2).資產的數額3).協議書所收取的費用4).額外的參數,由函數內部使用。
33.檢查我們是否收到了適當的貸款金額,否則它將拋出一個錯誤信息。
聲音 | 迅雷鏈張慧勇:區塊鏈技術如何在實體經濟中應用是亟待解決的問題:5月15日,在世界智能大會2019全球區塊鏈科技創新峰會上,迅雷鏈開放平臺研發負責人張慧勇受邀出席了峰會并發表了“看迅雷鏈如何助力實體經濟”的演講。張慧勇表示,區塊鏈3.0時代亟待解決的問題是讓區塊鏈技術在實體經濟得以運用以發揮其價值。而只有符合實體企業應用需求的區塊鏈,才能真正落地。這就要求區塊鏈企業,從實體企業的現實需求出發,升級自己的技術架構,為實體經濟賦能構建有力基礎。迅雷鏈自2018年上線以來,始終在強化自身技術的同時踏實助力實體商業場景落地,已在版權、溯源、出行、營銷等多個領域有了規模級行業應用。[2019/5/16]
34.在這里,可以根據你自己的使用場景,定制自己的實現邏輯。
40.我們通過使用SafeMaths庫提供的add函數,將費用和貸款金額加在一起。
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詢問你的權限。
動態 | 印度官員赴日本等國學習監管機構如何處理加密貨幣問題:據bitcoin 9月3日消息,印度證券交易委員會(SEBI)在其2017 – 18年度報告中透露,它已派出一些官員前往日本、英國、瑞士三個國家,研究監管機構如何處理加密貨幣問題。印度證券監管機構此次行動旨在與國際監管機構合作,深入了解其加密機制和系統,以改善其自身管理流程。[2018/9/3]
部署環境
確保合約選擇的是FlashLoan.sol。在部署按鈕旁邊的文本字段中提供LendingPool的地址。在我們的例子中,它將是0x506B0B2CF20FAA8f38a4E2B524EE43e1f4458Cc5。然后點擊Deploy(部署),它應該會打開MetaMask。注意。所有已部署的合約地址列表可在這里找到。在那里,你可以找到Aave支持的各種借貸池的地址。雖然每個代幣的地址都不同,但程序是相同的。
點擊確認(Confirm)。這樣做后,你應該看到MetaMask發出的成功通知。之后側邊欄應該有一個“已部署的合約”。為閃電貸準備資金
在新的已部署合約標簽下,可以復制已部署合約的地址。我們稍后會回到這一步;與此同時,我們需要給閃電貸合約添加一些DAI。這是因為閃電貸需要合約中的資金才能成功執行。為此,你可以跳轉到水龍頭鏈接,獲得一些DAI代幣。點擊Faucet,粘貼你的MetaMask錢包地址,然后等待確認。
獲得確認后,我們將把DAI代幣添加到MetaMask中。為此,打開你的MetaMask。點擊底部的AddToken。在代幣合約地址欄輸入0xF795577d9AC8bD7D90Ee22b6C1703490b6512FD。這是Kovan的DAI的合約地址。點擊下一步后,它應該顯示你先前從水龍頭得到的DAI。
img
接下來,點擊DAI代幣。點擊發送,它應該打開一個類似于下圖的窗口:
英國央行:正在研究如何維護區塊鏈網絡的隱私以及對數據進行監管:本周三,英國中央銀行英格蘭銀行(Bank of England)發布文件顯示,該行正在與區塊鏈創業公司Chain合作開發一種概念驗證,研究如何在基于區塊鏈(或分布式賬本)的網絡上維護隱私,同時仍允許對數據進行監管。[2018/4/11]
輸入我們的閃電貸的合約地址,之前已經復制了該地址。輸入我們要發送的金額。在我們的案例中,發送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:將改變我們的世界!
研究機構:MintVentures 研究員:許瀟鵬 第一節 研報要點 —— 1.核心投資邏輯 Terra在實踐的是當下加密世界最為期待的敘事——加密應用和傳統商業世界的破壁.
1900/1/1 0:00:00眾所周知,數字貨幣就是法定貨幣的另一種存在,流通方式是央行發行的,但比特幣就是中本聰提出并發行的,也就是說,比特幣是個人發行的加密數字貨幣,有人算了一下,十二年時間.
1900/1/1 0:00:00巴比特訊,8月6日,據官方公告,Chainlink宣布與Filecoin正在啟動一項聯合資助計劃,以加速混合智能合約的開發.
1900/1/1 0:00:00親愛的幣牛BiBull用戶:由于市場行情變化,經過評估,平臺決定下架DOC/USDT、LON/USDT、GFE/USDT、DKC/USDT、DRG/USDT幣對的流動性.預計于2021年08月0.
1900/1/1 0:00:00Tbit是全球首家雙重激勵交易所,平臺由全球衍生品精英團隊共同開發制作,立志成為全球最專業的合約衍生品交易平臺.
1900/1/1 0:00:00尊敬的虎符用戶: 虎符將于8月9日15:00正式上線CHESS(Tranchess),3%活期理財賺幣等您來充值業務已開放,提現業務已開放.
1900/1/1 0:00:00