uhc区块链(「区块链学习笔记」EOS开发系列第二篇|连接主网(macOS))

  uhc区块链(「区块链学习笔记」EOS开发系列第二篇|连接主网(macOS))

如果我们仅仅是在自己的本地去测试,第一篇的搭建就已经够了,但那是没有意义的。因为我们主要是对EOS项目的开发与研究,所以我们需要与主网进行连接。接下来我们就来详细的介绍如何连接主网。

  

主要分四步来进行:

  

1、检测是否连在主网上;

  

2、创建一个`genesis。json`文件;

  

3、添加插件列表;

  

4、添加种子节点;

  

NO1。 检测是否连在主网上

这时我们在命令行中输入:

  

cleos get info

  

会出现如下界面

  

注意到里面有一个`chain_id`字段,它的值是`cf057。。。c4f`,比特币走势这是它所在的网络标识符,主网的`chain_id`的值是:“aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906”,很明显我们并没有在主网中,所以我们的姿势是不对的,到底问题出在哪儿呢?

  

NO2。 指定**genesis-json

接着上面的问题,答案就是在我们运行`nodeos`时,是需要指定`genesis-json`的,送给大家一份`genesis。json`:

  

{

  

"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

  

}

  

}

  

在主目录下新创建一个`genesis。json`文件,并把上面的内容复制粘贴进去即可。

  

NO3。 添加插件列表

但这并没有结束,我们还需要指定运行时的插件:在

  

“。。。/Library/Application/Support/eosio/nodeos/config/config。ini”中添加插件列表:

  

plugin = eosio!!chain_plugin

  

plugin = eosio!!chain_api_plugin

  

plugin = eosio!!net_plugin

  

plugin = eosio!!net_api_plugin

  

plugin = eosio!!history_plugin

  

plugin = eosio!!history_api_plugin

  

plugin = eosio!!http_plugin

  

plugin = eosio!!http_client_plugin

  

plugin = eosio!!wallet_api_plugin

  

  

之后我们再运行`nodeos --genesis-json ~/genesis。json`,这时我们又遇到了一个问题:

  

解决的办法简单粗暴,直接删除原来的数据:

  

rm -rf ~/Library/Application Support/eosio/nodeos/data

  

或者在启动`nodeos`时追加`--delete-all-blocks`参数即可。

  

nodeos --genesis-json ~/genesis。json --delete-all-blocks

  

NO4。添加种子节点

这时我们看上去似乎没啥问题了,`cleos get info`之后出来的也是主网id,一切看上去岁月静好。但是等等,为什么我电脑只有一个块,执行`cleos get block 2`就会报错,说好的主网,难道是单机版?节点要同步数据,就必须知道从哪个节点同步数据。这要靠显示声明的种子节点来解决,这些种子节点通常是EOS的创建者和运营者。同样,我们在之前的`config。ini`文件中继续追加种子节点信息:

  

p2p-peer-address = p2p。prod。eosgravity。com!80

  

p2p-peer-address = eu-west-nl。eosamsterdam。net!9876

  

p2p-peer-address = p2p。mainnet。eosgermany。online!9876

  

p2p-peer-address = 54。38。250。15!19878

  

p2p-peer-address = p2p。genereos。io!9876

  

p2p-peer-address = mainnet。eospay。host!19876

  

p2p-peer-address = 130。211。59。178!9876

  

p2p-peer-address = 54。153。59。31!9999

  

p2p-peer-address = 94。130。250。22!9806

  

p2p-peer-address = peer。main。alohaeos。com!9876

  

p2p-peer-address = peer。eosn。io!9876

  

p2p-peer-address = prod。mainnet。eos。cybex。io!9888

  

p2p-peer-address = p2p-1。eosnetwork。io!9876

  

p2p-peer-address = p。jeda。one!3322

  

p2p-peer-address = eosbattles。com!9877

  

p2p-peer-address = 34。226。76。22!9876

  

p2p-peer-address = mainnet。eosoasis。io!9876

  

p2p-peer-address = node。eosflare。io!1883

  

p2p-peer-address = p2p。eosio。cr!1976

  

p2p-peer-address = p2p。eosio。cr!5418

  

p2p-peer-address = eno。eosvan。io!19866

  

之后再执行`nodeos`(这次就不要加后面的参数啦),这时发现开始开始找邻近节点同步信息了。再执行`cleos get info`,出现如下界面:

  

`chain_id`确实是主网ID,执行`cleos get block n`(n为区块号)也不报错啦,同步成功!

  

至此,我们终于和主网大部队汇合啦!

  

关注@区块链学习笔记,一起学习区块链。

  
","content_hash"!"7538baad

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论