主页 > imtoken中国版下载 > 构建以太坊私有链并连接两台计算机之间的节点
构建以太坊私有链并连接两台计算机之间的节点
1:新建文件夹private
2:在改目录下新建文件genesis.json
文件内容如下:
{
“配置”:{
“链号”:10,
“家园块”:0以太坊节点升级,
“eip155块”:0,
“eip158块”:0
},
“分配”:{},
“币库”:“0x0000000000000000000000000000000000000000”,
“难度”:“0x20000”,
“额外数据”:“”,
“gasLimit”:“0x2fefd8”,
“随机数”:“0x0000000000000042”以太坊节点升级,
“混合哈希”:“0x0000000000000000000000000000000000000000000000000000000000000000”,
“parentHash”:“0x0000000000000000000000000000000000000000000000000000000000000000”,
“时间戳”:“0x00”
}
3:详细解释genesis.json文件的参数
4:输入private,执行命令geth --datadir "./" init genesis.json
该命令的作用是创建私有链
执行后
项目结构如上图
5:执行命令启动节点
geth --datadir "./" --nodiscover console 2>>geth.log
该命令是将日志导出到geth.log文件中。
可以使用tail -f geth.log 查看日志中的动态变化
命令中的参数说明如下:
--nodiscover 使用这个参数,你的节点就不会被其他人发现,除非手动添加你的节点。否则,就只有一个被无意添加到一个陌生区块链上的机会,那就是跟你有相同的genesis文件和networkID。
--maxpeers 0 如果你不想有人连上你的测试链,就用maxpeers 0。或者,你可以调整参数,当你确切的知道有几个节点要连接上来的时候。
--rpc 允许RPC操作你的节点。这个参数在Geth上是默认的。
--rpcapi "db,eth,net,web3" 这个命令指示了允许通过RPC访问的命令。默认情况下,Geth允许web3。
--rpcport "8080"
--rpccorsdomain "http://chriseth.github.io/browser-solidity/"
--datadir "/home/TestChain1" 私有链存放路径(最好跟公有链路径不同)
--port "30303" 网络监听端口,用来和其他节点手动连接
--identity “TestnetMainNode" 用来标识你的节点的,方便在一大群节点中识别出自己的节点
6:运行admin.nodeInfo获取节点信息,记下节点id和端口号
比如记住上面两条信息,后面添加节点的时候会用到
7:用同样的方法在其他电脑上创建私有链,注意创世块中的chainId必须一致
8:执行admin.addPeer("enode://id@ip:port")
例如,连接到计算机的节点命令是:
admin.addPeer("enode://5fc948bd06bfdc28e8eb94fef741a3054942cbcf9f47e372fa52ce4149c84117446b63b2f555ba0eb65fcadaf9ea3c8c709a013ed87839e1319dc3550410b18d@192.168.1.105:30303")
执行后返回true表示成功
9:可以通过admin命令查看
你看,没关系!