hardhat常用指令
介紹 Hardhat 常用指令
1 |
|
1 |
|
1 |
|
hardhat config
安裝 dotenv
安裝後可以讀取環境變數,像是 process.env.INFURA_PROJECT_ID,就會讀取 .env 檔內的 INFURA_PROJECT_ID1
npm i dotenv --save
建立 .env.example、.env
在 .env 填上 Infura 專案的 ID、Secret、錢包註記詞
由於我是用 Ganache 本地開發,因此填上 Ganache給的註記詞1
2
3INFURA_PROJECT_ID=
INFURA_PROJECT_SECRET=
mnemonic=
由於是敏感資訊,在 .gitignore 要加上 .env,如果是用 hardhat 預設安裝的流程,他會自動幫你加上。加上後 .env 就不會被 git 追蹤了
.gitignore1
2
3
4
5
6
7
8
9node_modules
.env
coverage
coverage.json
typechain
#Hardhat files
cache
artifacts
設定 hardhat 測試網路
開啟 hardhat-config.js,設定常用網路 localhost, rinkeby, ropsten, mainnet
- 如果是用 Ganache 作為 localhost server,locahost url 要設定 http://127.0.0.1:8545
- 如果是用 hardhat 內建
npx hardhat node
,locahost url 要設定 http://127.0.0.1:8545
1 |
|
更改合約
更改後合約,需要重新編譯 compile,再重新部署,--network
參數改成你要部署的網路1
2npx hardhat compile
npx hardhat run scripts/sample-script.js --network localhost
坑
出現錯誤訊息 TypeError: state.buffer is not iterable
1 |
|
解決方式:用nvm切換最新 nodejs 版本為 16,再重新 deploy 即可成功1
2
3nvm install 16.13.2
nvm use 16.13.2
npx hardhat run scripts/sample-script.js
VSCode 報錯 hardhat/console.sol
1 |
|
解決方式:修改路徑1
2
3
4
5// 修改前
import "hardhat/console.sol";
// 修改後
import "../node_modules/hardhat/console.sol";
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!