譯文出自:登鏈翻譯計劃
譯者:翻譯小組
校對:Tiny熊
概述
Aave,以前稱為ETHLender,現在是DeFi領域的前沿應用。Aave是該領域中第一個提出閃電貸概念的人。在閃電貸之前,你必須用一個超額抵押的資產來借貸另一個資產。例如,如果我想借一個DAI),我將不得不存入另一個超過該價值的加密貨幣。換句話說,你必須有錢才能借到錢。閃電貸打破了這種想法。他們為一個新的貸款系統打開了大門,并且做到了這一點,允許用戶在不提供任何東西作為抵押的情況下借款。
在本教程中,你將了解到閃電貸是如何實現的,以及如何自己實現執行一筆閃電貸。
關于Aave
摘自Aave官網:Aave是一個去中心化的非托管流動性市場協議,用戶可以作為存款人或借款人參與。儲戶向市場提供流動性,以賺取被動收入,而借款人能夠以過度抵押或不足抵押的方式借款。
這個定義完全正確的,但如果你不熟悉DeFi行業的行話,你可能并不理解它的含義。你可以把Aave看成是一個去中心化的偽銀行。Aave沒有一個驗證所有交易的中央銀行,而是利用智能合約,以自動化的方式完成所有這些工作。存款人將他們的代幣放入Aave,并開始為他們的存款賺取利息。另一方面,借款人會做相反的事情。他們從Aave中取出錢,并開始對所借的金額計息。不過他們必須超額抵押才能借到錢。
對于那些不想把錢存入Aave,而只想借錢的人來說,還有一種方法。這就是我們前面提到的閃電貸。
關于閃電貸
之前提到的閃電貸是一種在區塊鏈上借入資產的新方式。最初由Aave實現,其他趨勢性的DeFi協議,如dYdX迅速跟進,增加了這個新功能。所有以太坊交易的一個特性,使閃電貸成為可能。而這個關鍵特性就是原子性#:~:text=一個原子交易就是,直接拒絕整個系列。)。
美國共和黨人希望美聯儲給出如何證明數字美元合理性的答案:金色財經報道,眾議員Patrick McHenry聯合眾議院金融服務委員會致信要求美聯儲副主席Lael Brainard,要求解釋對中央銀行權威的看法,并就如何證明數字美元的合理性給出答案。
鮑威爾回應了共和黨立法者的主要擔憂,表示“我們不打算在沒有行政部門和國會明確支持的情況下繼續發行CBDC,最好是以特定授權的形式”。(CoinDesk)[2022/9/9 13:18:00]
一個交易的操作系列是不可分割和不可消減的,它就是原子的。簡單來說就是:要么_所有執行_,要么_什么都沒有_發生。沒有中間狀態!閃電貸利用原子性,允許用戶在不提交抵押品的情況下先進行借款。首先,每當你在閃電貸中借入一項資產時,你必須支付貸款金額的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
}
總而言之,我們首先要導入執行閃電貸所需的依賴。其中一些依賴關系被稱為抽象合約)。一個抽象合約至少有個函數沒有實現。你可以把它想象成一個房子的圖紙。一個建筑商使用這個圖紙來建造房子。然而,在我們的比喻中,圖紙是一個抽象合約,你是建造者,而房子是派生合約。
直播|“后浪”仙女58Coin-小貝如何乘風破浪:金色財經 · 直播主辦的《 幣圈 “后浪” 仙女直播周》第7期20:00 58COIN|市場總監小貝將在直播間聊聊“幣圈‘后浪’仙女如何乘風破浪”,感興趣的朋友掃碼移步收聽![2020/7/1]
在我們的案例中,閃電貸合約使用的是一個名為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單位的數量。第四,傳遞額外的空數據。
24-31.接下來第二個函數executeOperation。這就是我們利用閃電貸的地方。它在flashLoan函數成功執行后被內部調用。它需要4個主要參數,分別是:
直播|條子哥 > Chainlink如何在一年內將生態擴大了400%?:金色財經 · 直播主辦的《 Focus 價值50》深度解析 6 大TOP50 項目,白話分享,刷新共識!6月16日16:30準時開播,本期Chainlink中國區負責人 條子哥將在直播間聊聊“Chainlink如何在一年內將生態擴大了400%?”,該項目剛剛被當選世界經濟論壇技術先鋒,感興趣的朋友掃碼移步收聽![2020/6/16]
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。
你應該看到一些警告,但沒有錯誤信息。
現在,我們已經準備好將合約部署到Kovan網絡。切換到Deploy&RunTransctions標簽。把部署環境,從JavaScriptVM改為InjectedWeb3。這應該會打開MetaMask詢問你的權限。
大咖零距離 | 如何通過消息面獲取市場暴利:2月19日16:00,金色盤面邀請數字貨幣正規軍TLAB Terry做客金色財經《大咖零距離》直播間,將分享《如何通過消息面獲取市場暴利》,敬請關注,欲進群觀看直播掃描海報二維碼報名即可![2020/2/19]
部署環境
確保合約選擇的是FlashLoan.sol。在部署按鈕旁邊的文本字段中提供LendingPool的地址。在我們的例子中,它將是0x506B0B2CF20FAA8f38a4E2B524EE43e1f4458Cc5。然后點擊Deploy(部署),它應該會打開MetaMask。注意。所有已部署的合約地址列表可在這里找到。在那里,你可以找到Aave支持的各種借貸池的地址。雖然每個代幣的地址都不同,但程序是相同的。
點擊確認(Confirm)。這樣做后,你應該看到MetaMask發出的成功通知。之后側邊欄應該有一個“已部署的合約”。為閃電貸準備資金
在新的已部署合約標簽下,可以復制已部署合約的地址。我們稍后會回到這一步;與此同時,我們需要給閃電貸合約添加一些DAI。這是因為閃電貸需要合約中的資金才能成功執行。為此,你可以跳轉到水龍頭鏈接,獲得一些DAI代幣。點擊Faucet,粘貼你的MetaMask錢包地址,然后等待確認。
獲得確認后,我們將把DAI代幣添加到MetaMask中。為此,打開你的MetaMask。點擊底部的AddToken。在代幣合約地址欄輸入0xF795577d9AC8bD7D90Ee22b6C1703490b6512FD。這是Kovan的DAI的合約地址。點擊下一步后,它應該顯示你先前從水龍頭得到的DAI。
img
接下來,點擊DAI代幣。點擊發送,它應該打開一個類似于下圖的窗口:
輸入我們的閃電貸的合約地址,之前已經復制了該地址。輸入我們要發送的金額。在我們的案例中,發送10DAI。然后點擊下一步。點擊確認!你現在已經成功地給你的閃電貸合約發送了10DAI。
動態 | 社科院法學所刊文《對“去中心化”的區塊鏈如何監管》:中國社科院法學所趙磊在《經濟參考報》發表題為《對“去中心化”的區塊鏈如何監管》的文章。文章指出,對區塊鏈技術的監管,應該分為兩個層面:一是結合區塊鏈技術的具體應用場景,分行業進行監管;另一是針對區塊鏈,制定專門的技術標準,以實現區塊鏈技術的規范、統一。而判斷某種商業活動或者社會管理活動是否可以應用區塊鏈,至少應該從以下兩方面進行衡量:一方面是區塊鏈技術只能在虛擬空間中應用;另一方面是區塊鏈技術無論在何種場景中應用,必須符合其去中心化、共識機制與分布式記賬等技術特征。[2019/1/10]
執行閃電貸
回到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:將改變我們的世界!
Tags:TPSHTTLASLOANhttps://etherscan.ioCHTTAlaskan Malamute TokenLOAN幣
封面圖片源于由Art.is.therapy發行,由?AdropinNFTocean?持有的NFT藝術.
1900/1/1 0:00:00Krakenissupportingfournewassets:BandProtocol(BAND),InjectiveProtocol(INJ).
1900/1/1 0:00:00沈迎月:8.6比特幣回落陷入震蕩,以太坊上破2900看牛???你的責任就是你的方向,你的經歷就是你的資本,你的性格就是你的命運。活著,不是靠淚水博得同情,而是靠汗水贏得掌聲.
1900/1/1 0:00:00親愛的用戶: 由于HTDF節點升級,HomiEx現已暫停HTDF的充提幣業務,待升級完成后再開放,請知悉.
1900/1/1 0:00:00EIP-1559只是開始以太坊的倫敦升級于8月4日完成,其中包括了著名的EIP-1559。在EIP-1559推出至今,不到4天,已經燒毀了16,230.38個ETH,價值接近5,000萬美元.
1900/1/1 0:00:00截至8月8日,今年全球已有30筆區塊鏈項目融資規模過億美元。2021年以來,NFT行業取得了前所未有的發展,NFT成為繼DeFi之后第二個「明星賽道」,受到資本方青睞.
1900/1/1 0:00:00