「以太坊」使用geth搭建多节点私有链

1、至少创建两个不同的路径,我这里是node1和node2

mkdir /tmp/node1
mkdir /tmp/node2

2、编辑初始化配置文件,我这里使用的是

{
  "config": {
        "chainId": 10, 
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x20000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}

3、使用geth命令启用节点

geth --datadir /tmp/node1 --rpc --rpcport 8546 --networkid 1101 --rpccorsdomain "*" console

参数说明

rpc表示开启rpc模式

rpcport 指定rpc端口

nerworkid 本节点通过哪个端口与网络连接,想要关联多节点,节点的networkid必须是一致的。否则就关联不上。

rpccorsdomain 表示允许哪些网络或者节点可以链接到本节点。

console表示在本窗口开启命令行。

geth --datadir /tmp/node2 --networkid 1101  --port 30304 console

port 表示指定本节点在哪个端口上运行。

上一条命令没有,是因为默认的端口号是30303。

4、连接节点

选择已经开启的节点中的一个

在console中敲入

admin.nodeInfo.enode

会返回enode节点的字符串,类似这样

"enode://b33db66202917898415228cb6dfca3911c504d1064c681e05250f162d6e8ef9bd09d7e98120893c14f488fac02aa6b2ee7aefde24cb8bdd47a3e26dd4683da09@127.0.0.1:30304"

复制该字符串。

在另外一个节点的console中敲入

admin.addPeer("enode刚刚复制的字符串")

敲回车,返回true。

接着验证一下

net.peerCount

返回1.就说明节点之间连接成功了。

转载于:https://my.oschina.net/u/3280685/blog/3070061

你可能感兴趣的:(「以太坊」使用geth搭建多节点私有链)