我正在Ubuntu 16.04上建立具有四个节点的Hyperledger Sawtooth网络。我正在使用静态对等。这是一个validator.toml文件示例:
bind = [
"network:tcp://0.0.0.0:8800",
"component:tcp://127.0.0.1:4004",
"consensus:tcp://127.0.0.1:5050"
]
peering = "static"
endpoint = "tcp://<IP 1>:8800"
peers = ["tcp://<IP 2>:8800", "tcp://<IP 3>:8800", "tcp://<IP 4>:8800"]
scheduler = 'serial'
network_public_key = 'wFMwoOt>yFqI/ek.G[tfMMILHWw#vXB[Sv}>l>i)'
network_private_key = 'r&oJ5aQDj4+V]p2:Lz70Eu0x#m%IwzBdP(}&hWM*'
minimum_peer_connectivity = 3
maximum_peer_connectivity = 10
在服务器2上,我将<IP 2>
作为端点,并将<IP 1>
,<IP 3>
和<IP 4>
作为对等体,等等。
启动网络后,我使用intkey事务系列对其进行了测试。当我执行intkey set <someKey> <someValue>
时,不会重现我用intkey show <someValue>
添加的键/值对。在验证器日志中,我看到了许多Can't send message PING_RESPONSE back to...
和No response from...
消息。使用curl localhost:8008/peers
,我发现对等列表有很多重复。
答案 0 :(得分:0)
在validator.toml
文件中,让peers
条目仅指向一个方向。在服务器2的示例validator.toml
中,从对等方列表中省略<IP 1>
。在服务器3上,省略<IP 1>
和<IP 2>
。在服务器4上,您不配置对等端,因为它是与其他服务器对等的。
答案 1 :(得分:0)
这似乎不正确。通过静态对等,您可以列出网络中所有节点的所有其他对等。这是一个使用Kubernetes的示例(请注意,每个验证器的--peers
命令行标志。也许存在错误或其他配置问题。
编辑:我被告知上述设置避免了额外的连接尝试和警告消息。