智能合约使用hardhat开发测试(MAC)

线上:http://remix.ethereum.org

本地开发环境搭建

1、 node.js安装 官网地址:https://nodejs.org/en/

下载后进行安装,一路next就OK

打开终端输入node -v,npm -v测试是否安装成功

2、vs code安装 官网地址:https://code.visualstudio.com

下载后进行安装,继续安装两个插件

插件

3、创建一个开发文件夹 mkdir test,终端切换到该位置cd test

4、初始化npm项目,npm init回车,一路回车

npm初始化

5、安装 hardhat,npm install --save-dev hardhat安装hardhat

6、初始化hardhat,npx hardhat init 回车,选择创建一个js项目后回车

初始化hardhat

7、安装火狐浏览器,下载metamask插件

8、实现简单合约,编写测试用例

test/contracts/HelloWorld.sol

// SPDX-License-Identifier:GPL-3.0
pragma solidity ^0.8.9;

contract HelloWorld{
    string _h="hello world!";
    function getHi()public view returns(string memory){
        return _h;
    }
}

test/test/hw.js

const { expect } = require('chai');
const { BN, expectEvent, expectRevert } = require('@openzeppelin/test-helpers');

const HW = artifacts.require('HelloWorld');

contract("HelloWorld", function ([alice, bob, carol, david, erin]) {

    let hw;
    let result;

    before(async function () {
        hw = await HW.new({ from: alice });
        console.log("contract address:",HW,"alice",alice);
      });

    describe("测试", function () {
        it("getHi", async function () {
            result=await hw.getHi();
            console.log("hi:", result.toString());
        });
    });
});

test/harhat.config.js

require("@nomicfoundation/hardhat-toolbox");
require("@nomiclabs/hardhat-truffle5");
module.exports = {
  solidity: "0.8.17",
  hardhat: {
    accounts: {
      count: 5,
    }
  },
  test: {
    url: 'http://127.0.0.1:8545',
    accounts: [`私钥`],
    gasPrice: 5 * 10 ** 9
    }
};

终端命令

npm i
npm install --save-dev @openzeppelin/test-helpers
npm install --save-dev @nomiclabs/hardhat-truffle5
npm install --save-dev "@nomiclabs/hardhat-web3@^2.0.0"
npx hardhat test/hw.js

9、运行结果

运行结果

10、文件结构(Lock是创建的时候自动生成的文件)

文件结构

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值