Skip to content

Main Network

DUANGDUANG116 edited this page Dec 14, 2020 · 10 revisions
服务器环境最低要求(Server environment minimum requirements):
系统版本(System version): Ubuntu 18.04 64位
带宽(Bandwidth):10Mbps
CPU(CPU):4核 
硬盘(Hard disk):256G
内存(Memory):8GB

运行环境搭建

Go 版本:

  • go1.9.2+ (推荐安装最新版本即可)

可支持的操作系统:

  • Ubuntu 16.04
  • Ubuntu 18.04
  • MacOS Darwin 10.12 and higher

编译源码

1:将公链源码下载到 $GOPATH/src/github.com/oexplatform:

git clone https://github.com/oexplatform/oexchain

2:进入项目根目录

cd oexchain

3:编译

make all

编译结束后./build/bin目录下将会有oexoexfinder 两个可执行文件

注意有些用户编译时碰到文件格式问题,请执行make fmt后再编译

启动节点

进入./build/bin目录后按序执行以下命令:

# nohup ./oex --genesis=../genesis.json --datadir=./mainnetData --contractlog --p2p_listenaddr :9090 --http_modules=fee,miner,dpos,account,txpool,oex >> mainnet.log &

# ./oex --ipcpath mainnetData/oex.ipc p2p add fnode://39d9c0d40b01d5e588d492e3b528868d37b1fe69bdfb1fe502aee0b2ffa79cd30da464bf00883f0f511ad36c499414148b3104f058734ff6132d17e90e6bb222@47.95.192.213:9090

命令执行成功后,查看mainnet.log文件,正常情况下,节点将会批量同步主网的历史区块数据,直到跟上最新区块为止。

日志中持续输出"blocks=1"的时候即表明已经跟上最新区块

如果需要做出块节点,还需在./build/bin目录执行以下两步操作:

第一步:

./oex miner -i ./mainnetData/oex.ipc setcoinbase "your_account" privateKey.txt
  • privateKey.txt为bin目录下的文件,里面存放的是私钥,注意私钥不需要带0x前缀,此命令执行完后记得删除privateKey.txt这个文件,以防私钥泄露
  • 矿工重启后,以上配置私钥的命令需要重新执行才行
  • 此命令执行后,请在日志文件中查看下结果,若输出"valid",则表示成功,若输出“invalid”,则表示失败

第二步:

./oex miner start -i ./mainnetData/oex.ipc
  • 此命令执行后,请在日志文件中查看下结果,若输出"valid",则表示成功,若输出“invalid”,则表示失败

此步完成后,节点便满足了参与出块的必要条件,等到竞选成功后便可出块

升级节点

# cd oexchain       // oexchain为公链代码根目录
# git pull          // 获取最新代码
# make              // 编译最新代码
# cd build/bin  
# kill <node_pid>     // 停止旧版本的节点进程,node_pid是节点的进程id
# nohup ./oex --genesis=../genesis.json --datadir=./mainnetData --contractlog --p2p_listenaddr :9090 --http_modules=fee,miner,dpos,account,txpool,oex >> mainnet.log &
# ./oex --ipcpath mainnetData/oex.ipc p2p add fnode://39d9c0d40b01d5e588d492e3b528868d37b1fe69bdfb1fe502aee0b2ffa79cd30da464bf00883f0f511ad36c499414148b3104f058734ff6132d17e90e6bb222@47.95.192.213:9090  // 执行此命令后,会开始同步区块
#./oex miner -i ./mainnetData/oex.ipc setcoinbase "<your_account>" privateKey.txt   // 执行此命令后,日志中应该同步输出valid,而不是invalid,即表明执行成功
#./oex miner start -i ./mainnetData/oex.ipc   // 执行此命令后,日志中同步输出valid,而不是invalid,即表明执行成功

注意:

  • 替换以上<node_pid>和<your_account>为自己节点和账户的信息
  • 对于当前周期的出块节点,最好在本节点刚出块结束后进行升级,如此能获得最宽裕的升级时间(尽量不会影响本节点出块),大约6分钟(20 * 6 * 3 = 360s)
  • 对于出块节点,观察轮到自己出块的时候,是否正常出块,如未正常出块,需定位问题