测试SushiSwap里的MasterChef合约
Posted sanqima
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了测试SushiSwap里的MasterChef合约相关的知识,希望对你有一定的参考价值。
SushiSwap是一个去中心化的交易所,其代码是由Uniswap V2分叉而来,支持质押挖矿、闪电贷等功能,其中MasterChef合约,用于质押挖矿。下面,介绍MasterChef合约的测试方法。
1、拉取Sushiswap工程
git clone https://github.com/sushiswap/sushiswap.git
2、修改hardhat.config.js文件
将hardhat.config.js复制一份,源文件重命名为hardhat.config00.js,然后,将hardhat.config.js内容修改如下:
//hardhat.config.js
/**
* @type import('hardhat/config').HardhatUserConfig
*/
require("@nomiclabs/hardhat-waffle");
//选取ganache下的4个账户的私钥
// const PRIVATE_KEY1 = "9066...4c7f";
// const PRIVATE_KEY2 = "0c933...8b9c";
// const PRIVATE_KEY3 = "28ba...2c9d";
// const PRIVATE_KEY4 = "da9f...1808";
module.exports = {
solidity: "0.6.12",
networks: {
// ganache: {
// url: `http://127.0.0.1:9545`,
// accounts: [`0x${PRIVATE_KEY1}`,`0x${PRIVATE_KEY2}`,`0x${PRIVATE_KEY3}`,`0x${PRIVATE_KEY4}`]
// },
// ropsten: {
// url: `https://eth-ropsten.alchemyapi.io/v2/${ALCHEMY_API_KEY}`,
// accounts: [`0x${ROPSTEN_PRIVATE_KEY}`]
// },
// rinkeby: {
// url: `https://eth-rinkeby.alchemyapi.io/v2/${ALCHEMY_API_KEY}`,
// accounts: [`0x${rinkeby_PRIVATE_KEY}`]
// },
}
};
3、安装依赖包
3.1 修改yarn.lock
修改yarn.lock的第3669行,改成如下,如图(1)所示:
dependencies:
ethereumjs-abi "0.6.8"
3.2 yarn安装依赖包
sudo yarn install
4、测试MasterChef合约
4.1 启动hardhat本地测试网节点
启动hardhat的测试网节点,命令如下:
npx hardhat node
它默认有20个账户,每个账户有10000ETH,如图(2)所示:
4.2 编译工程
npx hardhat compile
4.3 测试合约
a) 测试MasterChef合约
npx hardhat test test/MasterChef.test.ts
效果如下:
如图(3)所示,8个案例,全部测试通过。
b) 测试全部合约
npx hardhat test --verbose
以上是关于测试SushiSwap里的MasterChef合约的主要内容,如果未能解决你的问题,请参考以下文章