返回

Hardhat教程:零基础入门区块链开发的不二选择

开发工具

用 Hardhat 开发和部署 Solidity 智能合约:分步指南

准备就绪

踏上 Hardhat 之旅前,确保你的设备已配备 Node.js 和 npm。如未安装,请前往 Node.js 官网下载。

搭建 Hardhat 环境

  1. 安装 Hardhat: 在终端中输入 npm install -g hardhat
  2. 创建 Hardhat 项目: 在终端中输入 npx hardhat new my-project

编写智能合约

导航至 contracts 文件夹,你将看到一个名为 Greeter.sol 的示例合约。让我们对其进行如下修改:

pragma solidity ^0.8.0;

contract Greeter {
    string greeting;

    constructor(string memory _greeting) {
        greeting = _greeting;
    }

    function greet() public view returns (string memory) {
        return greeting;
    }

    function setGreeting(string memory _greeting) public {
        greeting = _greeting;
    }
}

测试智能合约

test 文件夹中,Greeter.test.js 文件包含合约测试:

const { expect } = require("chai");
const { ethers } = require("hardhat");

describe("Greeter", function () {
    it("Should return the greeting", async function () {
        const Greeter = await ethers.getContractFactory("Greeter");
        const greeter = await Greeter.deploy("Hello, world!");
        expect(await greeter.greet()).to.equal("Hello, world!");
    });

    it("Should change the greeting", async function () {
        const Greeter = await ethers.getContractFactory("Greeter");
        const greeter = await Greeter.deploy("Hello, world!");
        await greeter.setGreeting("Hola, mundo!");
        expect(await greeter.greet()).to.equal("Hola, mundo!");
    });
});

部署智能合约

在终端中输入 npx hardhat run scripts/deploy.js,将合约部署到本地网络。

交互智能合约

在终端中输入 npx hardhat console,在控制台中可通过 await greeter.greet()await greeter.setGreeting("New greeting") 与合约交互。

结语

恭喜!你现在已掌握 Hardhat 的基础知识。你可以探索其更多功能,构建更复杂的智能合约和去中心化应用程序。

常见问题解答

  1. 什么是 Hardhat?
    Hardhat 是一种开发环境,简化了 Solidity 智能合约的开发和测试过程。

  2. 为什么要使用 Hardhat?
    Hardhat 提供了全面的工具集,包括部署、测试和与合约交互的功能。

  3. 如何安装 Hardhat?
    使用 npm 命令 npm install -g hardhat

  4. 如何部署智能合约?
    使用命令 npx hardhat run scripts/deploy.js

  5. 如何与智能合约交互?
    使用 Hardhat 控制台,通过 await greeter.greet()await greeter.setGreeting("New greeting") 等命令。