我的環境是: 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 查看是否連接成功.