智能合约使用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

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

智能合约使用hardhat开发测试(MAC)_第1张图片

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

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

智能合约使用hardhat开发测试(MAC)_第2张图片

5、安装 hardhat,npm install --save-dev hardhat智能合约使用hardhat开发测试(MAC)_第3张图片

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

智能合约使用hardhat开发测试(MAC)_第4张图片

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、运行结果

智能合约使用hardhat开发测试(MAC)_第5张图片

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

智能合约使用hardhat开发测试(MAC)_第6张图片

你可能感兴趣的:(智能合约,macos,hardhat,solidity)