快速構建 EOS 主網 Fullnode

文/robinhtml

這是「區塊鏈技術指北」的第 37 篇文章。node

若是對我感興趣,想和我交流,個人微信號:Wentasy,加我時簡單介紹下本身,並註明來自「區塊鏈技術指北」。同時我會把你拉入微信羣「區塊鏈技術指北」。BTW,李笑來老師也加入了個人知識星球,文末有加入方式。git

題圖來自: © ChainONE / Original / chainon.iogithub

快速構建 Fullnode


截止目前,EOS 主網區塊數量達到 1093 萬,區塊數據達到數十 G,備份數據也達到了 16G。若是從頭開始同步區塊數據,須要數天的時間。隨着區塊不斷累加,同步的時間愈來愈長。如何快速構建 Fullnode,這成爲每個 BP、DApp 開發者等用戶須要考量的問題。json

本文給出根據區塊備份數據快速構建 Fullnode 的方法。瀏覽器

備份服務


這裏給出兩個 EOS 區塊數據備份服務,一是由 EOS Store 提供,二是由 EOS Cleaner 提供。bash

以 EOS Store 提供的服務爲例,訪問 s3-ap-northeast-1.amazonaws.com/eosstorebp 會得到 XML 格式的數據,Contents 中的 Key 表示文件名,LastModified 表示修改時間,Size 表示備份文件大小。EOS Store 天天備份兩次,分別是 00:30 和 12:30,若是咱們得到最新的一次備份,能夠執行如下命令提供:服務器

$ wget https://s3-ap-northeast-1.amazonaws.com/eosstorebp/2018-08-13-12_30_20.tar.gz
複製代碼

若是本身的服務器是國內雲服務商提供,會發現沒法訪問,不着急,能夠用一臺國外 VPS 作中轉。具體中轉方法筆者能夠後續提供。微信

EOS Cleaner 提供的服務比較友好,訪問 s3-ap-northeast-1.amazonaws.com/data.eos/in… 能夠看到一個文件下載連接,若是不想本地下載,瀏覽器右鍵拷貝下載連接便可。post

編譯


本文以 EOS-Mainnet 爲例。

$ cd /data
$ git clone https://github.com/EOS-Mainnet/eos --recursive
$ cd eos
$ git pull
$ git checkout mainnet-1.1.4
$ git submodule update --recursive
$ sed -i.bak '16i set( CORE_SYMBOL_NAME "EOS" )' CMakeLists.txt
$ ./eosio_build.sh
複製代碼

關於如何加速 GitHub,能夠參考 GitHub 加速最佳實踐

啓動


接着咱們啓動 nodeos,主網 Fullnode 相關的配置文件能夠訪問以下連接下載:

github.com/superoneio/…

啓動 Fullnode 相關命令以下:

$ mkdir /data/eos/build/programs/nodeos
$ git clone https://github.com/superoneio/eos-mainnet
$ mkdir -p data logs config tmp
$ cp eos-mainnet/config.ini config/config
$ cp eos-mainnet/genesis.json .
$ cp eos-mainnet/*.sh .
$ chmod +x *.sh
複製代碼

解壓 nodeos 備份數據,啓動 nodeos 進程,建議以普通用戶啓動,例如本文的 eosio。另外,注意此處的 --hard-replay-blockchain 參數。

$ su - eosio -s /bin/bash
$ cd /data/eos/build/programs/nodeos/tmp
$ tar -zxvf 2018-08-13-12_30_20.tar.gz
$ mv state blocks ../data
$ chown eosio:eosio -R /data/eos
$ su - eosio -s /bin/bash
$ cd /data/eos/build/programs/nodeos
$ echo "nohup /data/eos/build/programs/nodeos/nodeos \ --hard-replay-blockchain --data-dir ./data \ --config-dir ./config > ./logs/eos.log 2>&1 & echo $! > eos.pid" > start.sh
$ bash start.sh
複製代碼

測試


使用以下命令查看同步進度。

$ /data/eos/build/programs/cleos/cleos get info
複製代碼

小結


快速構建 Fullnode 對 BP、DApp 開發者等都很是有幫助,但願本文可以給讀者一個指引。

「區塊鏈技術指北」同名 知識星球,二維碼以下,歡迎加入。BTW,李笑來老師也加入了

區塊鏈技術指北

「區塊鏈技術指北」相關資訊渠道:

同時,本系列文章會在如下渠道同步更新,歡迎關注:

原創不易,讀者能夠經過以下途徑打賞,虛擬貨幣、美圓、法幣均支持。

  • BTC: 3QboL2k5HfKjKDrEYtQAKubWCjx9CX7i8f
  • ERC20 Token: 0x8907B2ed72A1E2D283c04613536Fac4270C9F0b3
  • PayPal: www.paypal.me/robinwen
  • 微信打賞二維碼

Wechat

–EOF–

版權聲明:自由轉載-非商用-非衍生-保持署名(創意共享4.0許可證)

相關文章
相關標籤/搜索