mac搭建hardhat以太坊开发环境
2025-01-22 13:34:43
# Web3
Node环境配置
首先安装nvm
,再安装node18
,为了和hardhat
的运行环境匹配
1 | brew install nvm |
配置nvm环境,在~/.zshrc
中加入下面的内容。
编辑~/.zshrc
,如下:
1 | vim ~/.zshrc |
加入
1 | export NVM_DIR="$HOME/.nvm" |
保存,并
1 | source ~/.zshrc |
配置好后,如下:
接下来,安装node18
,使用下面命令:
1 | nvm install 18 |
如下,安装成功。
搭建hardhat环境
创建一个目录,专门用于以太坊学习,随意,如/Web3
1 | cd /Web3 |
然后初始化hardhat
项目
1 | npx hardhat |
选择第一个创建一个JavaScript project
,项目路径选择刚开始创建文件夹的路径。
注意⚠️我这里是换了一个路径演示一下。
初始化后的文件目录如下:
其中的scripts
文件夹需要自己创建。
部署智能合约
进入到文件夹contracts
下,创建合约文件SimpleStorage.sol
,简单的部署一个合约,如下:
1 | // SPDX-License-Identifier: MIT |
然后进入到创建的scripts
文件夹下,创建部署合约的脚本deploy.js
1 | const hre = require("hardhat"); |
首先需要对编写的智能合约进行编译
1 | npx hardhat compile |
编译成功后,会输出Compiled 2 Solidity files successfully (evm target: paris)
然后启动本地的以太坊网络,如下:
1 | npx hardhat node |
以太坊网络启动成功。
进行合约的部署,执行部署的js文件如下:
1 | npx hardhat run scripts/deploy.js --network localhost |
合约成功部署,得到部署合约的地址0x5fbdb2315678afecb367f032d93f642f64180aa3
。
调用合约函数
创建一个调用合约的代码test.js
,如下:
1 | // scripts/test.js |
将其保存在scripts
文件夹下。
代码的大致意思是,调用合约的set
函数方法,设置值为42
,然后再调用get
方法去读取数据。
先是调用set
方法,如图所示:
1 | npx hardhat run scripts/test.js --network localhost |
然后再调用get
方法,获取set
的值。