天天看點

安裝并同步geth并開啟本地RPC端口8545安裝同步的幾種方式開啟本地RPC端口

安裝

Ubuntu使用者可以選擇線上安裝的方式,在終端中依次執行以下指令即可:

$ sudo add-apt-repository -y ppa:ethereum/ethereum
$ sudo apt-get update
$ sudo apt-get install ethereum
           

安裝完成後執行 geth help 檢視geth的用法。

同步的幾種方式

Full同步

  1. 擷取區塊的header
  2. 擷取區塊的body
  3. 從創始塊開始校驗沒一個元素

    PS:下載下傳所有區塊資料資訊

Fast同步

  1. 擷取區塊的header
  2. 擷取區塊的body

在同步到目前塊之前不處理任何事務,然後獲得一個快照,像full節點一樣進行後面的同步操作。沿着區塊下載下傳最近資料庫中的交易,有可能丢失曆史資料。比如,你的賬戶位址A上面有10個ETH,但轉入的的交易存在于較老的曆史交易中,此同步模式無法擷取到交易的詳細情況。

使用此模式時注意需要設定–cache,預設16M,建議設定為1G(1024)到2G(2048)。

Ligth同步

僅擷取目前狀态。驗證元素需要向full節點發起相應的請求。

疑問

具體同步的到底是什麼?比如light模式,就把world state和目前區塊同步下來?有空慢慢研究

light同步的隻是區塊頭

安裝并同步geth并開啟本地RPC端口8545安裝同步的幾種方式開啟本地RPC端口

開啟本地RPC端口

# light模式同步區塊并開啟RCP:rpcaddr:rpcport
geth --rpc --rpcaddr localhost --rpcport "8545" --syncmode "light"
           

擷取與RCP相關的指令

geth --help | grep rpc
  --rpc                         Enable the HTTP-RPC server
  --rpcaddr "127.0.0.1"         HTTP-RPC server listening interface
  --rpcport "8545"              HTTP-RPC server listening port
  --rpcapi "db,eth,net,web3"    API's offered over the HTTP-RPC interface
  --rpccorsdomain               Domains from which to accept cross origin requests (browser enforced)
           

繼續閱讀