以太坊 geth 本地測試節(jié)點

以太坊 geth 本地測試節(jié)點

開發(fā)和測試 dapp 的合約有很多現(xiàn)成的節(jié)點方案比如 hardhat 等等,沒有好壞之分,只是習慣不同。本人習慣自己搭建,那么開發(fā)和調(diào)試合約就必須要有一個本地的低能耗節(jié)點了,以太坊的 clique 共識模塊提供的 POA 共識很符合開發(fā)需求,言歸正傳直接上攻略

下載并編譯 geth

省略安裝配置 golang 編譯環(huán)境,如果不喜歡編譯,其實可以跳過這一步直接下載編譯好的 bin

git clone git@github.com:ethereum/go-ethereum.git
cd go-ethereum
make geth

build/bin/geth --help

編譯成功后建議將 build/bin/geth 鏈接到 PATH 對應的目錄中,例如 /usr/local/bin 等

制作 genesis.json

1、創(chuàng)建賬戶

geth --datadir ./data account new
echo 1 > pwd.txt

此處假設賬戶 b0ab1f54bd403f8cd360b39c3c45ee2055a0aaa0, 密碼 1

2、制作 genesis.json

手動創(chuàng)建即可,復制內(nèi)容如下并保存為 genesis.json

{
  "config": {
    "chainId": 12345,
    "homesteadBlock": 0,
    "eip150Block": 0,
    "eip155Block": 0,
    "eip158Block": 0,
    "byzantiumBlock": 0,
    "constantinopleBlock": 0,
    "petersburgBlock": 0,
    "istanbulBlock": 0,
    "berlinBlock": 0,
    "clique": {
      "period": 5,
      "epoch": 30000
    }
  },
  "difficulty": "1",
  "gasLimit": "8000000",
  "extradata": "0x0000000000000000000000000000000000000000000000000000000000000000b0ab1f54bd403f8cd360b39c3c45ee2055a0aaa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  "alloc": {
    "b0ab1f54bd403f8cd360b39c3c45ee2055a0aaa0": { "balance": "999999999000000000000000000" }
  }
}

需要注意的是 clique 共識的第一個簽名出塊節(jié)點是在 extradata 中指定的,替換其中的簽名節(jié)點為你自己的 account 地址

3、初始化節(jié)點

geth --datadir ./data init ./genesis.json

在當前目錄中初始化創(chuàng)世區(qū)塊

4、啟動節(jié)點并出塊

geth --datadir=./data --networkid 12345 --mine --miner.etherbase=b0ab1f54bd403f8cd360b39c3c45ee2055a0aaa0 --nodiscover --unlock b0ab1f54bd403f8cd360b39c3c45ee2055a0aaa0 --password $./pwd.txt console

進入控制臺后可以看到已經(jīng)在按照配置 5 秒一個塊了

copy : https://github.com/cc14514/notes/blob/main/web3/geth_private_clique.md

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容