1. 程式人生 > >以太坊geth區塊同步

以太坊geth區塊同步

起初我採用虛擬機器在公司網路下作為節點同步,不管是錢包還是geth,始終都會有100個左右區塊同步不下來,導致eth_getBalance等指令失敗。後來切換到了阿里雲上的伺服器上做同步,一個晚上就基本同步完了,建議儘量採用雲主機或者網路環境好的實體機進行同步。下面講一下同步的準備工作

1.go環境搭建

2.下載go-ethereum-master程式碼,儘量下載最新的版本

    #git clone https://github.com/ethereum/go-ethereum.git

3.編譯,編譯成功後geth程式在./build/bin目錄下

    #go build

4.啟動挖礦指令,在這裡我們不挖礦,只是作為同步節點使用,所以指令中不需要“miner”

    #nohup go-ethereum/build/bin/geth --rpc --rpcaddr 0.0.0.0  --rpcapi eth,net,web3 --syncmode fast --cache 1028 --datadir /root/source/ethereum_data/ > /data/block/geth.log 2>&1 &

執行完上述指令後,就開始了區塊同步過程,預期最少需要準備60G左右的空間,為了以後區塊生存,建議空間在500G左右

5.attach rpc,然後就可以執行相關指令,檢視同步狀態,區塊高度等資訊

    #go-ethereum/build/bin/geth attach /root/source/ethereum_data/geth.ipc