# 测试SushiSwap里的MasterChef合约_jamebestwick的博客-CSDN博客

By [jambestwick](https://paragraph.com/@vatalikbuterin) · 2022-02-07

---

![](https://storage.googleapis.com/papyrus_images/f546d7b9810710e4fe84b43ec03d1d93a232411bfabb4a1b3d03936eb3afed8c.png)

[SushiSwap](https://github.com/sushiswap/sushiswap)是一个去中心化的交易所，其代码是由[Uniswap V2](https://github.com/Uniswap/v2-core)分叉而来，支持质押挖矿、闪电贷等功能，其中[MasterChef合约](https://github.com/sushiswap/sushiswap/blob/canary/contracts/MasterChef.sol)，用于质押挖矿。下面，介绍MasterChef合约的测试方法。

1、拉取Sushiswap工程
---------------

    git clone https://github.com/sushiswap/sushiswap.git
    
       
       
    1
    

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"
    
     
     
    12
    

![](https://storage.googleapis.com/papyrus_images/28243f3fca3f97bd7c84ab2bf4e990f4f6d1318b367bf48e9c664e2cb25ac7f5.png)

图(1) 在yarn.lock的dependencies字段，指定ethereumjs-abi的版本号

### 3.2 yarn安装依赖包

4、测试MasterChef合约
----------------

### 4.1 启动hardhat本地测试网节点

启动hardhat的测试网节点，命令如下:

它默认有20个账户，每个账户有10000ETH，如图(2)所示：

![](https://storage.googleapis.com/papyrus_images/58e80ad552d1374ab5238c0198cd51e6a8d1f9a493100f2b554a5b759c77ff59.png)

图(2) 启动hardhat本地的测试节点

### 4.2 编译工程

    npx hardhat compile
    
     
     
    1
    

### 4.3 测试合约

a) 测试MasterChef合约

    npx hardhat test test/MasterChef.test.ts
    
     
     
    1
    

效果如下:

![](https://storage.googleapis.com/papyrus_images/b732478b280e64c00494b62a47459625267a197dd92ece1611bd212e264c6015.png)

图(3) 使用npx测试MasterChef合约

如图(3)所示，8个案例，全部测试通过。

b) 测试全部合约

    npx hardhat test --verbose
    
     
     
    1
    

转载自：[https://blog.csdn.net/sanqima/article/details/120721209](https://blog.csdn.net/sanqima/article/details/120721209)

![](https://storage.googleapis.com/papyrus_images/7fcbc269f2bd467d431ba9f3cdfbc79e226e096410be67dea4a8319884c0b44a.png)

![](https://storage.googleapis.com/papyrus_images/7fcbc269f2bd467d431ba9f3cdfbc79e226e096410be67dea4a8319884c0b44a.png)

![](https://storage.googleapis.com/papyrus_images/7fcbc269f2bd467d431ba9f3cdfbc79e226e096410be67dea4a8319884c0b44a.png)

![](https://storage.googleapis.com/papyrus_images/7fcbc269f2bd467d431ba9f3cdfbc79e226e096410be67dea4a8319884c0b44a.png)

![](https://storage.googleapis.com/papyrus_images/7fcbc269f2bd467d431ba9f3cdfbc79e226e096410be67dea4a8319884c0b44a.png)

[您将在每个新选项卡中打开一个精美的高清图像！ 惊人的！ 你是一个美食家吗？ 还是想当厨师的大师？ 在每个新标签页中，您都会获得令人敬畏的高质量_Masterchef_ Food图像。 您会得到很大的启发，并且会喜欢这个不错的扩展。 简单易用（只需向下滚动即可查看更酷的照片或打开新标签）。 也可以离线工作。 超级快。 而已。 :)有关控制怪胎的详细信息：\*代码中的所有内容都是100％透明的。 -在此处检查：https://github.com/h_app_yhey/_Masterchef_\-food \*无需任何怪异的权利。 \*没有间谍软件或其他古怪的东西。 如果您喜欢，请给我一个不错的5星级评论。 谢谢。 对于其他程序员，我们将不胜感激。 您可以在此处找到完整的代码：https://github.com/h_app_yhey/_Masterchef_\-food谢谢。 支持语言:Bahasa Indonesia,Bahasa Melayu,Deuts_ch_,Engli_sh_,Filipino,Français,Ki_swa_hili,Ned_er_lands,Norsk,Tiếng Việt,Türkçe,català,_da_nsk,ee_st_i,español,español (Latinoam&eacu_te_;rica),hrvatski,italiano,latviešu,lietuvių,_ma_gyar,polski,portugu&eci_rc_;s (Brasil),portugu&eci_rc_;s (Portugal),rom&aci_rc_;nă,slovensk&yacu_te_;,slovenščina,_su_omi,svenska,Ε&lamb_da_;&lamb_da_;ηνι&k_app_a;ά,Српски,български,русский,українська,עברית,فارسی‎,मराठी,हिन्दी,বাংলা,ગુજરાતી,தமிழ்,తెలుగు,ಕನ್ನಡ,മലയാളം,ไทย,‫العربية,中文 (简体),中文 (繁體),日本語,한국어](https://download.csdn.net/download/weixin_38685600/15746006)

![](https://storage.googleapis.com/papyrus_images/7fcbc269f2bd467d431ba9f3cdfbc79e226e096410be67dea4a8319884c0b44a.png)

©️2022 CSDN 皮肤主题：1024 设计师：我叫白小胖 [返回首页](https://blog.csdn.net/)

---

*Originally published on [jambestwick](https://paragraph.com/@vatalikbuterin/sushiswap-masterchef-jamebestwick-csdn)*
