EOS主網(wǎng)連接與數(shù)據(jù)同步

目前,EOS主網(wǎng)已經(jīng)成功啟動(dòng),在投票率達(dá)到15%之后,主網(wǎng)功能被激活,下面教大家如何連接EOS主網(wǎng)。

一、從GitHub上克隆主網(wǎng)代碼倉(cāng)庫(kù):(注意EOS-Mainnet/eos 與 EOSIO/eos 的版本是一致的。若以前在本地已經(jīng)安裝編譯過(guò)EOSIO/eos的1.0.2版本及以上,則可以直接跳到步驟三)

git clone https://github.com/EOS-Mainnet/eos 
cd eos
git submodule update --init --recursive 
git tag
git checkout mainnet-1.0.2.2

二、編譯eos代碼

./eosio_build.sh  

三、替換config.ini 和 genesis.json 文件

(1)運(yùn)行nodeos節(jié)點(diǎn)后會(huì)生成默認(rèn)的config.ini/genesis.json文件,現(xiàn)在對(duì)其進(jìn)行替換

(2)在不同系統(tǒng)中找到其文件地址:

  • linux-ubuntu: ~/.local/share/eosio/nodeos/config/
  • mac-osx: ~/Library/Application\ Support/eosio/nodeos/config/

(3)新的config.ini文件設(shè)置如下:

# fullnode sample config

blocks-dir = "blocks"

chain-state-db-size-mb = 1024

reversible-blocks-db-size-mb = 340

contracts-console = false

https-client-validate-peers = 1

http-server-address = 0.0.0.0:8888

access-control-allow-credentials = false

p2p-listen-endpoint = 0.0.0.0:9876

p2p-server-address = 0.0.0.0:9876


# List of peers

p2p-peer-address = p2p.one.eosdublin.io:9876

p2p-peer-address = eu-west-nl.eosamsterdam.net:9876

p2p-peer-address = p2p.mainnet.eosgermany.online:9876

p2p-peer-address = 35.197.190.234:19878

p2p-peer-address = p2p.genereos.io:9876

p2p-peer-address = fullnode.eoslaomao.com:443

p2p-peer-address = new.eoshenzhen.io:10034

p2p-peer-address = node1.eosphere.io:9876

p2p-peer-address = p2p.meet.one:9876

p2p-peer-address = bp.eosbeijing.one:8080

p2p-peer-address = peer1.mainnet.helloeos.com.cn:80

p2p-peer-address = p2p-public.hkeos.com:19875

p2p-peer-address = pub1.eostheworld.io:9876

p2p-peer-address = eu1.eosdac.io:49876

p2p-peer-address = peer.eosio.sg:9876


p2p-max-nodes-per-host = 10


agent-name = "eosmainnet"

# allowed-connection can be set to "specified" to use whitelisting with the "peer-key" option

allowed-connection = any


# peer-private-key is needed if you are whitelisting specific peers with the "peer-key" option

peer-private-key = ["EOS6qTvpRYx35aLonqUkWAMwAf3mFVugYfQCbjV67zw2aoe7Vx7qd", "5JroNC1B4pz9gJzNZeU7tkU6YMtoeWRCr4CJJwKsVXnJhRbKXSC"]


max-clients = 250

connection-cleanup-period = 30

network-version-match = 1

sync-fetch-span = 100

max-implicit-request = 1500

enable-stale-production = false

pause-on-startup = false

max-transaction-time = 10000

max-irreversible-block-age = -1

txn-reference-block-lag = 0


# Plugins used for full nodes

plugin = eosio::chain_api_plugin

plugin = eosio::history_api_plugin

plugin = eosio::chain_plugin

plugin = eosio::history_plugin

plugin = eosio::net_plugin

plugin = eosio::net_api_plugin

其中p2p-peer-address的配置來(lái)源于:

https://docs.google.com/spreadsheets/d/1K_un5Vak3eDh_b4Wdh43sOersuhs0A76HMCfeQplDOY/edit#gid=0

WX20180619-163221@2x.png

(4)genesis.json文件內(nèi)容如下:

{
  "initial_timestamp": "2018-06-08T08:08:08.888",
  "initial_key": "EOS7EarnUhcyYqmdnPon8rm7mBCTnBoot6o7fE2WzjvEX2TdggbL3",
  "initial_configuration": {
    "max_block_net_usage": 1048576,
    "target_block_net_usage_pct": 1000,
    "max_transaction_net_usage": 524288,
    "base_per_transaction_net_usage": 12,
    "net_usage_leeway": 500,
    "context_free_discount_net_usage_num": 20,
    "context_free_discount_net_usage_den": 100,
    "max_block_cpu_usage": 200000,
    "target_block_cpu_usage_pct": 1000,
    "max_transaction_cpu_usage": 150000,
    "min_transaction_cpu_usage": 100,
    "max_transaction_lifetime": 3600,
    "deferred_trx_expiration_window": 600,
    "max_transaction_delay": 3888000,
    "max_inline_action_size": 4096,
    "max_inline_action_depth": 4,
    "max_authority_depth": 6
  }
}

此文件稱為創(chuàng)世json文件,來(lái)自以下鏈接:

https://github.com/EOS-Mainnet/eos/blob/launch-rc-1.0.2/mainnet-genesis.json

四、將以上的創(chuàng)世json文件,復(fù)制拷貝到~/eos/build/program/nodeos目錄下,并啟動(dòng)nodeos節(jié)點(diǎn):

./nodeos --genesis-json genesis.json  

可以看到node已經(jīng)連上主網(wǎng),on_incoming_block就代表正在同步區(qū)塊內(nèi)容了。不過(guò)有的節(jié)點(diǎn)地址會(huì)出現(xiàn)連接不上的error。可以嘗試在上述的google鏈接地址中的表格選擇穩(wěn)定的peer節(jié)點(diǎn)進(jìn)行設(shè)置。

3546494ms thread-0   producer_plugin.cpp:290       on_incoming_block    ] Received block ccf596b268aea49a... #479000 @ 2018-06-13T05:29:49.000 signed by genesisblock [trxs: 0, lib: 478999, conf: 0, latency: 527357494 ms]
3552228ms thread-0   producer_plugin.cpp:290       on_incoming_block    ] Received block 3adbcf84f3dea90c... #480000 @ 2018-06-13T05:38:09.000 signed by genesisblock [trxs: 0, lib: 479999, conf: 0, latency: 526863228 ms]
3557963ms thread-0   producer_plugin.cpp:290       on_incoming_block    ] Received block ec80ea02b2d795cb... #481000 @ 2018-06-13T05:46:29.000 signed by genesisblock [trxs: 0, lib: 480999, conf: 0, latency: 526368963 ms]
3563672ms thread-0   producer_plugin.cpp:290       on_incoming_block    ] Received block 580cf0926b807c85... #482000 @ 2018-06-13T05:54:49.000 signed by genesisblock [trxs: 0, lib: 481999, conf: 0, latency: 525874672 ms]
3569426ms thread-0   producer_plugin.cpp:290       on_incoming_block    ] Received block cce03eebb64b3c80... #483000 @ 2018-06-13T06:03:09.000 signed by genesisblock [trxs: 0, lib: 482999, conf: 0, latency: 525380427 ms]
3571971ms thread-0   net_plugin.cpp:1915           connect              ] host: node1.eosphere.io port: 9876
3571971ms thread-0   net_plugin.cpp:1915           connect              ] host: eu1.eosdac.io port: 49876
3571971ms thread-0   net_plugin.cpp:1915           connect              ] host: peer.eosio.sg port: 9876
3571971ms thread-0   net_plugin.cpp:1915           connect              ] host: p2p.mainnet.eosgermany.online port: 9876

五、查看鏈信息:

比對(duì)chain_id是否為:aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906

運(yùn)行cleos命令:

cleos get info  

返回信息為:

{
  "server_version": "26ec83de",
  "chain_id": "aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906",
  "head_block_num": 493299,
  "last_irreversible_block_num": 493298,
  "last_irreversible_block_id": "000786f240401f6fcc24de5240ddd9fead88cbbbbec740c181258dc3e682fb96",
  "head_block_id": "000786f36fafd9e98d703a004a302e86958de991dedbbc27f33c393c2adb2c6f",
  "head_block_time": "2018-06-13T07:28:58",
  "head_block_producer": "genesisblock",
  "virtual_block_cpu_limit": 200000000,
  "virtual_block_net_limit": 1048576000,
  "block_cpu_limit": 199900,
  "block_net_limit": 1048576
}

六、查看區(qū)塊數(shù)據(jù)

在數(shù)據(jù)正常同步后,使用cleos命令可以查看一些區(qū)塊信息:譬如查看區(qū)塊191的數(shù)據(jù)

cleos get block 191  

返回信息如下,可以看到transaction內(nèi)容

{
  "timestamp": "2018-06-09T11:58:04.500",
  "producer": "eosio",
  "confirmed": 0,
  "previous": "000000be7ec418241839c376b35a4ae88b305e045a4f0e779215c5f5f4508e5d",
  "transaction_mroot": "1f09d60c3b791e1fa29e7fe980807ec36fab1c9fbc130f72f492e3b4c965184b",
  "action_mroot": "1ca50b0889e5c6b884e621ff113b17868dfbbc7cd2d4549784c8e50a5114e75c",
  "schedule_version": 0,
  "new_producers": null,
  "header_extensions": [],
  "producer_signature": "SIG_K1_K87sojWELjnYSUvpS1Xy1L1P5Etr7xrcnuauqM5zoUYZRTL6eLXA9fZASdvH1ynUq1ZXSceNqWGrcAxj6cZt3ERvgk2aD9",
  "transactions": [{
      "status": "executed",
      "cpu_usage_us": 1593,
      "net_usage_words": 35,
      "trx": {
        "id": "ad77575a8b4f52e477682e712b1cbd884299468db6a94d909f90c6961cea9b02",
        "signatures": [
          "SIG_K1_KfUNC7KHjSGKBrk8FHjq9tqZA12q1aD9pspfBbLW9iw58B6DqoyebmLaEP2VUuJZa2nDZ11YdgEi2VwuqY5sSogh7MaG8p"
        ],
        "compression": "none",
        "packed_context_free_data": "",
        "context_free_data": [],
        "packed_trx": "eac01b5bbd00421775ad000000000100a6823403ea3055000000572d3ccdcd010000000000ea305500000000a8ed3232ba010000000000ea30550000000000004038a08601000000000004454f530000000098014e6576657220646f7562742074686174206120736d616c6c2067726f7570206f662074686f7567687466756c2c20636f6d6d697474656420636974697a656e732063616e206368616e67652074686520776f726c643b20696e646565642c206974277320746865206f6e6c79207468696e672074686174206576657220686173202d20656f7361636b6e6f776c6564676d656e74732e696f00",
        "transaction": {
          "expiration": "2018-06-09T11:58:34",
          "ref_block_num": 189,
          "ref_block_prefix": 2910132034,
          "max_net_usage_words": 0,
          "max_cpu_usage_ms": 0,
          "delay_sec": 0,
          "context_free_actions": [],
          "actions": [{
              "account": "eosio.token",
              "name": "transfer",
              "authorization": [{
                  "actor": "eosio",
                  "permission": "active"
                }
              ],
              "data": {
                "from": "eosio",
                "to": "b1",
                "quantity": "10.0000 EOS",
                "memo": "Never doubt that a small group of thoughtful, committed citizens can change the world; indeed, it's the only thing that ever has - eosacknowledgments.io"
              },
              "hex_data": "0000000000ea30550000000000004038a08601000000000004454f530000000098014e6576657220646f7562742074686174206120736d616c6c2067726f7570206f662074686f7567687466756c2c20636f6d6d697474656420636974697a656e732063616e206368616e67652074686520776f726c643b20696e646565642c206974277320746865206f6e6c79207468696e672074686174206576657220686173202d20656f7361636b6e6f776c6564676d656e74732e696f"
            }
          ],
          "transaction_extensions": []
        }
      }
    }
  ],
  "block_extensions": [],
  "id": "000000bf87a9db45034a46671514a225cb1a5c30e9b8dc172bc75ef30a812970",
  "block_num": 191,
  "ref_block_prefix": 1732659715
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容