以太坊geth區塊同步
阿新 • • 發佈:2019-01-05
起初我採用虛擬機器在公司網路下作為節點同步,不管是錢包還是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