1. 程式人生 > >EOS 連線本地網路&測試網路&主網

EOS 連線本地網路&測試網路&主網

寫在前面

EOS主網不是唯一的,EMLG, EOSGO, IMEOS, EOSForce(EOS原力)幾大社群都在負責主網啟動,這幾個都是主網的有力競爭者。其中EMLG你可以認為是具備最大共識的社群,且EMLG已經宣告它只支援EOS這一唯一主網,就是我們今天談的這個主網,所以這個主網最接近那個真正的“主網”。好了,接下來就是實踐了。

連線本地

並不需要做其他多餘的配置等,直接使用命令:

$ cd build/programs/nodeos

$ ./nodeos -e -p eosio --plugin eosio::chain_api_plugin --plugin eosio::history_api_plugin --resync-blockchain

連線主網mainnet

主網: 
Jungle Mainnet:

主網區塊瀏覽器:http://eosnetworkmonitor.io/#home 

一. 自己本地搭建非生產者節點

方式一:

mkdir /opt/EOSmainNet

cd /opt/EOSmainNet

git clone https://github.com/CryptoLions/EOS-MainNet.git ./

下載EOSmainNet後, EOSmainNet就有了genesis.json檔案和config.ini兩個檔案。

我們搭建的這個網路之所以是“主網”而不是自己的私有網就是因為這兩個核心檔案

genesis檔案包含了創世塊的內容

這個創世塊和所有主網的節點的創世塊是一樣的,所以我們在搭建主網環

config.ini包含了主網伺服器節點的資訊(ip:port),比如

p2p-peer-address = peering.mainnet.eoscanada.com:9876

p2p-peer-address = peering1.mainnet.eosasia.one:80

p2p-peer-address = peering2.mainnet.eosasia.one:80

我們指定了主網其他伺服器節點的ip,埠,所以我們能從其他節點同步主網區塊資訊。下載下來的config.ini這個配置沒有定義producer, 其實目前主網,一般人也做不了block producer,你根本拉不到那麼多選票。因此,我們只是為了同步區塊資料,就不需要新增producer了。唯一需要的做的是修改

p2p-server-address

-    p2p-server-address = !!YOUR_ENDPOINT_IP_ADDRESS!!:9876

+    p2p-server-address = 0.0.0.0:9876

    3.  執行

./start.sh --delete-all-blocks --genesis-json genesis.json

    必須指定genesis-json檔案,啟動後就會在stderr.txt檔案裡看到如下log,代表啟動成功了,並在同步資料

方式二:

(配置genesis及config檔案)

1、配置config.ini,配置p2p-peer-address,

3、清理本地測試的data

4、啟動nodeos。nodeos --genesis-json genesis.json

5、驗證是否啟動成功,下面兩個語句得到chain_id一致即代表連線主網成功。 cleos -u http://api.eosnewyork.io:80 get info

cleos get info

方式三:

方式四:直接連線遠端nodeos節點

    遠端nodes節點的資訊可以一個一個測試上面的config.ini檔案裡的p2p-peer-address,測試後我使用130.211.59.178這個節點即可連線到主網

$# cleos -u http://130.211.59.178:8888  get info

$# cleos -u  get info

注意看 
chain_id:”aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906” 
證明你連線的是主網。

主網其他rpc節點地址

EOS New York: 

https://api.eosnewyork.io 


eos DAC: 

https://eu2.eosdac.io 

連線測試網路jungle-testnet

 測試網: 
Jungle Testnet

注:測試網賬戶可以在上面的地址中生成,還可以免費獲得eos硬幣

一 .本地搭建

地址:https://github.com/CryptoLions/EOS-Jungle-Testnet

二 .直接連線遠端nodeos節點

$#  cleos -u http://jungle.cryptolions.io:38888 get info

chain_id如下說明你連線的是測試網路

 "chain_id": "038f4b0fc8ff18a4f0842a8f0564611f6e96e8535901dd45e43ac8691a1c4dca"
 

其他網路

EOSTEA : 

https://eosmonitor.io/ 

EOSpark: 

https://eospark.com/ 

其它:

手動新增創世檔案:genesis.json

編譯後可執行資料夾下nodeos資料夾下面建立genesis.json檔案,然後在啟動命令後面加上 --genesis-json genesis.json

1..................Genesis state can only be set on a fresh blockchain

2......... version > 0: Block log was not setup properly with genesis information.

報錯時處理辦法:

在可執行檔案,nodeos下執行以下命令列

注意修改--genesis-json /path/to/genesis.json

指定正確的路徑

./nodeos -e -p eosio

--private-key '[ "EOS8VJybqtm41PMmXL1QUUDSfCrs9umYN4U1ZNa34JhPZ9mU5r2Cm","5JGxnezvp3N4V1NxBo8LPBvCrdR85bZqZUFvBZ8ACrbRC3ZWNYv" ]' --plugin eosio::producer_plugin --plugin eosio::chain_api_plugin --plugin eosio::http_plugin --plugin eosio::history_api_plugin --delete-all-blocks --genesis-json /path/to/genesis.json