我的环境是: VirtualBox虚拟机 操作系统Ubuntu
一、节点主要注意的事项如下:
1)2个节点的创世块信息必须一样
2)networkid 是一样的
二、使用 admin.nodeInfo.enode 查看节点的信息如下:
节点1的节点信息
> admin.nodeInfo.enode
"enode://db79243ec3cb7b543036e329e6d66d77c7723dcfe7d901ceeb5227f4c15a22a4f099e11448b08f5feccccbe9272eae18907cd562dd1bfbbe9ff253fcb5ef690b@[::]:30303"
节点2的节点信息
> admin.nodeInfo.enode
"enode://a37abd7706691c2d2c25e1693fb2a994810a6feeee4a9e9a00f2461ba83faeff2bc2a5ee68611deb4f0f1080ddc1141072e292e92eef31bd0fc54b5e5aa74265@[::]:30303"
三、节点连接的方式有2种:
1) 通过使用admin.addPeer()
例: 节点2连接节点1, 在节点2的console下输入以下命令 (方法的参数是节点1的节点信息) (IP我使用的虚拟机IP)
admin.addPeer("enode://db79243ec3cb7b543036e329e6d66d77c7723dcfe7d901ceeb5227f4c15a22a4f099e11448b08f5feccccbe9272eae18907cd562dd1bfbbe9ff253fcb5ef690b@10.35.14.70:30303")
(使用 net.peerCount 检测有没有连接的节点)
> net.peerCount
1
(使用 admin.peers 查看连在02节点上的节点信息,可以看见id就是之前的节点1的id)
> admin.peers
[{
caps: ["eth/62", "eth/63"],
id: "db79243ec3cb7b543036e329e6d66d77c7723dcfe7d901ceeb5227f4c15a22a4f099e11448b08f5feccccbe9272eae18907cd562dd1bfbbe9ff253fcb5ef690b",
name: "Geth/v1.8.11-unstable-c8dcb958/linux-amd64/go1.10.2",
network: {
inbound: false,
localAddress: "172.17.0.3:54429",
remoteAddress: "10.35.14.70:30303",
static: true,
trusted: false
},
protocols: {
eth: {
difficulty: 32836685431,
head: "0x85aa8adbc1bd7fa153a3cc0e638edac6a1e1c731455a9e6b90889f3fc06dab97",
version: 63
}
}
}]
2) 或者启动节点添加参数--bootnodes
--bootnodes "enode://db79243ec3cb7b543036e329e6d66d77c7723dcfe7d901ceeb5227f4c15a22a4f099e11448b08f5feccccbe9272eae18907cd562dd1bfbbe9ff253fcb5ef690b@10.35.14.70:30303"
同样使用命令 admin.peers 和 net.peerCount 查看是否连接成功.