我想建立一个Kademlia网络来连接对等点并建立一个p2p网络。我将分配网络内节点的处理能力。对于网络,我发现此Kademlia Java从git实现了安装程序。 https://github.com/JoshuaKissoon/Kademlia
java - Java的Kademlia实现-LMLPHP

我想知道如何设置它并用于实现网络。
我找到

JKademliaNode kad1 = new JKademliaNode("Node1", new KademliaId("ASF45678947584567467"), 7574);

JKademliaNode kad2 = new JKademliaNode("Node2", new KademliaId("ASERTKJDHGVHERJHGFLK"), 7572);

用于创建两个对等实例,并使用以下代码将它们彼此连接。
kad1.bootstrap(kad2.getNode());

但这是将它们连接到正在运行的同一程序中。

我想将它们相应地连接到不同的计算机。在这里呆了几个小时。我不知道该怎么用。

最佳答案

根据Kademlia协议(protocol),您可以在here中找到:“要加入网络,n个节点U必须与已经参与的节点W有联系。然后,U对其自身的节点ID执行节点查找。”

您应该有两个节点实例。

实例1:

JKademliaNode kad1 = new JKademliaNode("Node1", new KademliaId("ASF45678947584567467"), 7574);

实例2:
JKademliaNode kad2 = new JKademliaNode("Node2", new KademliaId("ASERTKJDHGVHERJHGFLK"), 7572);

您可以从节点1引导node2。
KademliaId id = new KademliaId("ASERTKJDHGVHERJHGFLK");
InetAddress ip =InetAddress.getByName("Ip address of the remote node");
Node kad2 = new Node(id,ip,7572);
kad1.bootstrap(kad2);

09-11 18:58