搭建EOS全節點並接入主網


#EOS編譯安裝

#!/bin/bash
#install.eos.sh
#EOS 安裝

#從github克隆主網代碼
cd /opt
git clone https://github.com/EOS-Mainnet/eos.git --recursive

#查看mainnet ,切換最新版本
cd /opt/eos
git tag
git tag |grep mainnet |tail -n 1
git checkout `git tag |grep mainnet |tail -n 1`
git branch

#更新子模塊
git submodule update --init --recursive

#查詢得shell腳本里的MongoDB下載地址失效,修改如下
sed -i 's#https://fastdl.mongodb.org#http://downloads.mongodb.org#'  scripts/*.sh

#運行編譯
./eosio_build.sh -s "EOS"

#編譯完成后,安裝
./eosio_install.sh

#eos加入主網並啟動

#eos加入主網並啟動
#下載節點配置
#主要用到genesis.json和config.ini
#主網創世區塊文件genesis.json
#默認配置config.ini

#download and  Configuring
mkdir /opt/EOSmainNet
cd /opt/EOSmainNet
git clone https://github.com/CryptoLions/EOS-MainNet.git ./ 
chmod +x ./*.sh   
chmod +x ./Wallet/*.sh 

#設置當前用戶ubuntu權限(可選)
sudo chown ubuntu:ubuntu -R /opt/EOSmainNet

#修改區塊儲存限制(已超過默認存儲大小)
sudo sed -i 's/chain-state-db-size-mb =.*/chain-state-db-size-mb = 65536/'  /opt/EOSmainNet/config.ini

#更換nodeos編譯路徑
sudo sed -i 's#/home/eos-sources/eos#/opt/eos#' *.sh

#從privex.io下載最新的可用EOS節點清單,保存到peers.txt文件中
wget https://eosnodes.privex.io/?config=1 -O peers.txt

#在配置文件config.ini中,找到所有的p2p-peer-address配置項,
#例如:p2p-peer-address = bp.cryptolions.io:9876
#...
#p2p-peer-address = mainnet.eoseco.com:10010
#然后用peers.txt中的內容替換。

#首次啟動,清除現有區塊並加入主網
sudo /opt/EOSmainNet/start.sh --genesis-json /opt/EOSmainNet/genesis.json --delete-all-blocks

#再次啟動,不需指定genesis.json
sudo /opt/EOSmainNet/start.sh
#關閉 sudo /opt/EOSmainNet/stop.sh

注意(重要):

nodeos進程異常關閉,再次啟動要區塊回放--replay-blockchain很耗時間
eos不適合docker方式部署,eosio/eos鏡像停止維護
通過備份文件重放區塊中信息,區塊超過3千萬后區塊回放很慢,不如直接同步
區塊備份文件下載(個人實測后不推薦) https://eosnode.tools/blocks

#為加快同步速度,添加一些物理距離近的同步節點
#當前的網絡p2p-peer-address 地址可以從下面地址獲得
https://eosnodes.privex.io/?config=1

#基本查詢

#查看區塊同步
sudo /opt/EOSmainNet/cleos.sh get info

#查看區塊高度
/opt/EOSmainNet/cleos.sh get info |awk -F'[ |,]' '/head_block_num/{print $4}'

#curl 訪問rpc api查看區塊
#sudo apt install jq #格式化josn文件
#查看區塊同步
[ -f /usr/bin/jq ] || { sudo apt updata;sudo apt install jq; }
curl -s  http://127.0.0.1:8888/v1/chain/get_info |jq

#獲取區塊高度
curl -s  http://localhost:8888/v1/chain/get_info |awk -F'[,:]*' '{print $6}'

#查看日志
tail -f /opt/EOSmainNet/stderr.txt

#EOS區塊鏈瀏覽器
https://eospark.com
#EOS中文白皮書
https://github.com/EOSIO/Documentation/blob/master/zh-CN/TechnicalWhitePaper.md


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM