写在前面
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,
(参见https://eosnodes.privex.io/?config=1 )
2、配置genesis.json,取https://eosnodes.privex.io/内容
3、清理本地测试的data
4、启动nodeos。nodeos --genesis-json genesis.json
5、验证是否启动成功,下面两个语句得到chain_id一致即代表连接主网成功。 cleos -u http://api.eosnewyork.io:80 get info
cleos get info
方式三:
https://github.com/CryptoLions/EOS-MainNet/blob/0c353af05ad8d2e7e5a39f05985c150682129201/README.md
方式四:直接连接远端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:
http://jungle.cryptolions.io/#home
注: 测试网账户可以在上面的地址中生成,还可以免费获得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