首页

行情

快讯

名人库

专栏

搜索

WAP小程序详情页图标下 手机网站文章底页
对于我们来说,使用前一部分最简单的方法是使用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

文章下面
0/300

相关新闻

如何使用Aave创建快速贷款-第2部分

如何使用Aave创建快速贷款-第2部分

09-17 09:56

如何使用Aave创建快速贷款-第1部分

如何使用Aave创建快速贷款-第1部分

09-16 13:17

全部 综合技术人物创投百科观点游戏