IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 区块链 -> 智能合约使用hardhat开发测试(MAC) -> 正文阅读

[区块链]智能合约使用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是创建的时候自动生成的文件)

文件结构

  区块链 最新文章
盘点具备盈利潜力的几大加密板块,以及潜在
阅读笔记|让区块空间成为商品,打造Web3云
区块链1.0-比特币的数据结构
Team Finance被黑分析|黑客自建Token“瞒天
区块链≠绿色?波卡或成 Web3“生态环保”标
期货从入门到高深之手动交易系列D1课
以太坊基础---区块验证
进入以太坊合并的五个数字
经典同态加密算法Paillier解读 - 原理、实现
IPFS/Filecoin学习知识科普(四)
上一篇文章      下一篇文章      查看所有文章
加:2022-10-22 21:20:53  更:2022-10-22 21:21:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年2日历 -2024/2/22 8:15:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码