如何使用Aave建立快速貸款-第2部分

買賣虛擬貨幣
對於我們來說,使用前一部分最簡單的方法是使用Truffle來部署和驗證合約。我們需要對其進行驗證,以便我們可以輕鬆地在瀏覽器中執行它。首先,為此專案建立一個資料夾mkdir flashloan && cd flashloan接下來,呼叫這個truffle(在編寫本文時,我的版本是v5.1.40)命令為我們建立一個flash loan合約truffle unbox aave/flashloan-box我們的flash loan合約在ontracts/Flashloan.sol .sol. 這裡沒什麼奇怪的,它看起來和上一部分的完全一樣。
為了能夠將智慧合約部署到Ropsten網路,我們需要確保我們的以太坊地址(我們使用Metamask瀏覽器擴充套件為我們提供地址)具有足夠的以太幣餘額用於部署和交易執行。要獲得一些測試的eth,請轉到水龍頭。

一旦有了以太幣,我們需要做的最後一件事。如果轉到truffle-config.js,您會注意到這裡有很多配置,我們需要注意。為了進行部署,我們需要設定兩個環境變數。

(i)我們的Metamask助記符(您應該在建立帳戶時寫下來,或者只需轉到Metamask設定即可顯示出來)。這進入DEPLOYMENT_ACCOUNT_KEY

(ii)Infura API金鑰(Infura允許我們與以太坊客戶端通訊,而無需執行自己的客戶端)。這進入INFURA_API_金鑰中。

一旦您在終端中設定了這些,我們將新增一個truffle外掛,以便在部署後驗證智慧合約。我們需要這樣做,以便我們可以在Etherscan上檢視智慧合約程式碼,並可以直接透過瀏覽器執行其功能。

要新增外掛執行(像以前一樣在flashloan目錄內部)

yarn add -D truffle-plugin-verify

我寫這篇文章時的版本是1.22.4

現在我們需要將外掛新增到truffle-config.js

在truffle-config.js中附加“ plugins”和“ api_keys”

plugins: ["truffle-plugin-verify"],
api_keys: {
    etherscan: process.env.ETHERSCAN_API_KEY,
},

注意,我們需要另一個API金鑰,這次請轉到Etherscan。你需要在他們那裡有一個帳戶,所以一定要註冊。

最後一件事,我保證。我們需要在Flashloan合約中新增license欄位。這是我們成功核實合約所必需的。去看contracts/Flashloan.sol並在檔案頂部新增這一行

// SPDX-License-Identifier: MIT

我們已經準備好部署Flashloan.sol!

執行以下命令(您必須在同一終端視窗中執行所有操作,以便在部署時可以使用之前設定的環境變數)

truffle console --network ropsten

然後(當你在truffle控制檯中時,應該說truffle(ropsten)>)

migrate --reset

你應該看到這樣的東西

要獲得可理解的程式碼,我們需要進行驗證。在同一終端視窗中執行

.exit

這將退出truffle控制檯(應該還有一個控制檯命令),現在

truffle run verify Flashloan --network ropsten --license MIT

如果你不明白這一點

如果您返回https://ropsten.etherscan.io/address/0x1bd39Dd799C046EEDce91b35b2056754CeF08aE9,“Contract”標籤現在將允許您與自己在Ropsten上執行的Flashloan合約進行互動

Ropsten DAI。前往https://ropsten.etherscan.io/address/0xf80a32a835f79d7787e8a8ee5721d0feafd78108#writeContract

在mint函式下,寫2。這將鑄成我們2個DAI

現在將此DAI傳送到flashloan智慧合約,在我的情況下為0x1bd39Dd799C046EEDce91b35b2056754CeF08aE9。現在智慧合約的餘額為2 DAI,我們可以向銀行借貸1 DAI。您可能已經注意到我們的合約說1 ether,那麼ether確實代表1e18 wei,因此,如果我們使用ERC20令牌,則僅表示該令牌的1e18。由於測試的DAI也有18位小數,所以一切都很好。

我聽到你的聲音,為什麼要借貸需要DAI?好吧,我們需要償還貸款的服務費。我們本來可以在DAI中估算出服務成本,它也可以起作用

現在回到已部署的合約

https://ropsten.etherscan.io/address/0x1bd39Dd799C046EEDce91b35b2056754CeF08aE9。轉到write部分,用我們想要flash loan的資產的地址點選flashloan write按鈕,即。

0xf80a32a835f79d7787e8a8ee5721d0feafd78108

這是我的一份不同合約的flashloan

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;