1

我想建立一个 Kademlia 网络来连接对等点并建立一个 p2p 网络。我将分配网络内节点的处理能力。对于网络,我发现这个 Kademlia Java 从 git 实现了 Setup。 https://github.com/JoshuaKissoon/Kademlia
在此处输入图像描述

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

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

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

用于创建对等点的 2 个实例,并使用以下代码将它们相互连接。

kad1.bootstrap(kad2.getNode());

但那是将它们连接到它运行的同一个程序中。

我想为不同的计算机相应地连接它们。被困在这里好几个小时了。我不知道如何使用这个。

4

1 回答 1

2

根据 Kademlia 协议,您可以在这里找到,“要加入网络,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 引导节点 2。

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);
于 2017-07-09T10:01:41.753 回答