區塊鏈
挖礦,比特幣,EOS,以太坊

EOS開發教程,全面理解EOS——2.加入EOS主網和測試網

有了EOSIO軟件,如何加入EOS的主網及測試網絡?不同步EOS主網和測試網絡全部數據,如何快速與EOS主網及測試網交互?如果想獲得EOS主網及測試網絡上所有的塊信息,又該如何?

在線查看EOS網絡信息

如果僅是想查看EOS主網和測試網絡上的部分信息,區塊瀏覽器直接可用
主網:
Jungle Mainnet:http://eosnetworkmonitor.io/#home
EOSTEA : https://eosmonitor.io/
EOSpark: https://eospark.com/
測試網:
Jungle Testnet:http://jungle.cryptolions.io/
EOSTEA:https://party.eosmonitor.io/
下面測試幾個例子:
1.查看賬號信息(支持API接口):
這里寫圖片描述
2.查看塊信息
這里寫圖片描述
3.免費獲取測試EOS(測試網上)
這里寫圖片描述
一般的查看和交互已經足夠了。

與遠端RPC節點交互

按照全面理解EOS——1.源碼編譯及運行中的內容,已經編譯完成了EOSIO軟件,得到了cleos等程序,而且,可以直接在本地測試單節點網絡。如果想連接到主網或者測試網絡,需要找到其他人提供的遠端RPC節點地址(注意不是P2P地址)。
主網:
EOS New York: https://api.eosnewyork.io
eos DAC: https://eu2.eosdac.io
具體的操作和單節點測試網絡下使用cleos是類似的,只是多加了個參數:
首先切換到build/cleos下

./cleos -u "https://eu2.eosdac.io" get info
  • 1

結果如圖:
這里寫圖片描述
注意看
chain_id:”aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906”
證明你連接的是主網。

與本地節點交互連接EOS網絡

此種方法是最麻煩的,因為通過nodes軟件將EOS鏈上的數據都同步到了本地。
主網:
使用Jungle Mainnet封裝好的工具,編譯后同步數據,使用cleos。
按照鏈接https://github.com/CryptoLions/EOS-MainNet中的步驟,同步并編譯代碼,然后修改相關配置即可。同步數據的時間較長。下面以Ubuntu環境為例:
1.同步代碼及編譯

mkdir /home/eos-sources  
cd /home/eos-sources  

git clone https://github.com/EOS-Mainnet/eos.git --recursive    
cd eos  

git checkout mainnet-1.0.5  
git submodule update --init --recursive   

./eosio_build.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

2.配置節點

mkdir /opt/EOSmainNet
cd /opt/EOSmainNet
git clone https://github.com/CryptoLions/EOS-MainNet.git ./ 
chmod +x ./*.sh   
chmod +x ./Wallet/*.sh
  • 1
  • 2
  • 3
  • 4
  • 5

3.修改config.ini文件
修改EOSmainNet目錄下的config.ini文件,下面是我修改后的,供參考

  • producer-name = mainnet.test
  • p2p-server-address = 0.0.0.0:9876
  • signature-provider = EOS公鑰地址:對應私鑰地址
  • p2p地址列表,可從https://eosnodes.privex.io/?config=1中獲取

3.自定義目錄
如果想修改諸如/home/eos-sources目錄和鏈上數據存儲目錄data-dir,可在/opt/EOSmainNet(這個目錄也可以修改)中修改各個.sh文件對應的信息。

4.啟動節點并同步數據
執行start.sh之后,使用tail -f stderr.txt,查看同步數據的進度信息

如果想使用前面已經編譯好的EOSIO軟件
切換到build/eos/nodeos目錄,拷貝上述Jungle Mainnet的genesis.json文件和config.ini文件到當前目錄,對config.ini的修改同上,然后執行

nodeos --data-dir $DATADIR --config-dir $DATADIR
  • 1

data-dir是區塊鏈數據存儲的目錄,不設置的話有默認目錄,之前編譯文章里有。config-dir是config.ini的目錄,包括genesis.json文件,由它決定了chain_id,即你連接的是否是主網
測試網的步驟類似,Jungle Testnet代碼地址:
https://github.com/CryptoLions/EOS-Jungle-Testnet

常見問題

1.nodeos崩潰
測試Jungle Testnet出現nodeos崩潰,再啟動時提示,database dirty flag set (likely due to unclean shutdown): replay required

修改nodeos的啟動腳本,添加
–replay-blockchain –hard-replay-blockchain
之前的–resync-blockchain 參數已被刪除

特別注意成功啟動之后一定要刪除
–replay-blockchain –hard-replay-blockchain這兩個配置,不然重啟還會replay一遍。
2.config-dir不生效
啟動節點是遇到
2412694ms thread-0 chain_plugin.cpp:208 plugin_initialize ] initializing chain plugin
2412695ms thread-0 main.cpp:113 main ] 10 assert_exception: Assert Exception
version > 0: Block log was not setup properly with genesis information.
{}
thread-0 block_log.cpp:473 extract_genesis_state

不知道為何start.sh中的–config-dir沒有起作用,
重新添加–genesis-json genesis.json –config config.ini
注意節點成功啟動后,還得刪除genesis配置參數,否則出現如下錯誤:
!fc::exists( my->blocks_dir / “blocks.log” ): Genesis state can only be set on a fresh blockchain
說明配置了genesis.json,但是blocks目錄不為空
需要清除blocks或者去除genesis的配置
3.注意地址占用問題
如果編譯使用了多個版本的EOSIO軟件,特別注意上述config.ini配置文件的服務器地址端口等,避免相互之間占用沖突(Address already in use)

——————— 本文來自 w7849516230 的CSDN 博客 ,全文地址請點擊:https://blog.csdn.net/w7849516230/article/details/80809329?utm_source=copy

贊(0)

評論 搶沙發

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
p3试机号99