文/robin
html
這是「區塊鏈技術指北」的第 37 篇文章。node
若是對我感興趣,想和我交流,個人微信號:Wentasy,加我時簡單介紹下本身,並註明來自「區塊鏈技術指北」。同時我會把你拉入微信羣「區塊鏈技術指北」。BTW,李笑來老師也加入了個人知識星球,文末有加入方式。git
題圖來自: © ChainONE / Original / chainon.iogithub
截止目前,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 相關的配置文件能夠訪問以下連接下載:
啓動 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,李笑來老師也加入了。
「區塊鏈技術指北」相關資訊渠道:
同時,本系列文章會在如下渠道同步更新,歡迎關注:
原創不易,讀者能夠經過以下途徑打賞,虛擬貨幣、美圓、法幣均支持。
–EOF–