Hardhat教程:零基础入门区块链开发的不二选择
2023-08-21 23:42:57
用 Hardhat 开发和部署 Solidity 智能合约:分步指南
准备就绪
踏上 Hardhat 之旅前,确保你的设备已配备 Node.js 和 npm。如未安装,请前往 Node.js 官网下载。
搭建 Hardhat 环境
- 安装 Hardhat: 在终端中输入
npm install -g hardhat
。 - 创建 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 的基础知识。你可以探索其更多功能,构建更复杂的智能合约和去中心化应用程序。
常见问题解答
-
什么是 Hardhat?
Hardhat 是一种开发环境,简化了 Solidity 智能合约的开发和测试过程。 -
为什么要使用 Hardhat?
Hardhat 提供了全面的工具集,包括部署、测试和与合约交互的功能。 -
如何安装 Hardhat?
使用 npm 命令npm install -g hardhat
。 -
如何部署智能合约?
使用命令npx hardhat run scripts/deploy.js
。 -
如何与智能合约交互?
使用 Hardhat 控制台,通过await greeter.greet()
和await greeter.setGreeting("New greeting")
等命令。