環境
- この環境を使って接続します
node1とnode2を接続する
IPアドレスを調べる
% sudo docker inspect ethereum-node-01 | grep \"IPAddress |grep -v \"\"
"IPAddress": "172.22.0.2",
% sudo docker inspect ethereum-node-02 | grep \"IPAddress |grep -v \"\"
"IPAddress": "172.22.0.3",
※admin.addPeerする際にホスト名ではなく、IPアドレスが必要
疎通を確認
% sudo docker exec -it ethereum-node-01 ping ethereum-node-02 PING ethereum-node-02 (172.22.0.3): 56 data bytes 64 bytes from 172.22.0.3: seq=0 ttl=64 time=0.232 ms 64 bytes from 172.22.0.3: seq=1 ttl=64 time=0.246 ms % sudo docker exec -it ethereum-node-02 ping ethereum-node-01 PING ethereum-node-01 (172.22.0.2): 56 data bytes 64 bytes from 172.22.0.2: seq=0 ttl=64 time=0.480 ms 64 bytes from 172.22.0.2: seq=1 ttl=64 time=0.203 ms
node02のnodeInfoを取得
% sudo docker exec -it ethereum-node-02 geth attach rpc:http://localhost:8545 > admin.nodeInfo.enode "enode://cfb24fe963ad802e261619235033e38dea0e0f2de63064bfd494e58fc7bb5fb86d9a8e4bed2d4664b35ded123e33b5f006db08df1333ab4a82bb1ed2ba1d767b@[::]:30303?discport=0"
node01からnode02へ接続
% sudo docker exec -it ethereum-node-01 geth attach rpc:http://localhost:8545
> admin.addPeer("enode://cfb24fe963ad802e261619235033e38dea0e0f2de63064bfd494e58fc7bb5fb86d9a8e4bed2d4664b35ded123e33b5f006db08df1333ab4a82bb1ed2ba1d767b@172.22.0.3:30303?discport=0")
true
※[::]だったところを、node02のIPアドレスに変更する
> admin.peers
[{
caps: ["eth/62", "eth/63"],
id: "cfb24fe963ad802e261619235033e38dea0e0f2de63064bfd494e58fc7bb5fb86d9a8e4bed2d4664b35ded123e33b5f006db08df1333ab4a82bb1ed2ba1d767b",
name: "Geth/v1.8.0-unstable-0662384d/linux-amd64/go1.9.3",
network: {
localAddress: "172.22.0.2:35260",
remoteAddress: "172.22.0.3:30303"
},
protocols: {
eth: {
difficulty: 278121932,
head: "0x80c11e45770fa315c24d56469bbf52f7a635d2a404ffee2a19ef90408f625151",
version: 63
}
}
}]
> net.peerCount
1
> eth.blockNumber
2229
node02で接続を確認する
% sudo docker exec -it ethereum-node-02 geth attach rpc:http://localhost:8545
> admin.peers
[{
caps: ["eth/62", "eth/63"],
id: "021b697ab806c28ec99aa9dc601308b8b77d6659d8cb7fcde758bb2b1af813f3cc036476ed59e95246e85a5ff7b66ac2d1ec8ef4a9dcceb9bb0a245ff7089af0",
name: "Geth/v1.8.0-unstable-0662384d/linux-amd64/go1.9.3",
network: {
localAddress: "172.22.0.3:30303",
remoteAddress: "172.22.0.2:35748"
},
protocols: {
eth: {
difficulty: 433531171,
head: "0xd1510332bc8cc51396d7b07861ad9d2e6e568da1980684cba917345f649f0ffb",
version: 63
}
}
}]
> net.peerCount
1
> eth.blockNumber
2229
※同期できていれば同じ値になっている
