2017-07-08 109 views
0

我想建立一個Kademlia網絡來連接對等點並構建一個p2p網絡。我將分配網絡中節點的處理能力。對於網絡,我發現這個Kademlia Java從git實現了安裝程序。 https://github.com/JoshuaKissoon/Kademlia
enter image description hereKademlia在Java中的實現

我想知道如何設置和使用來實現網絡。 我發現

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

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

用於創建對等體2個實例和下面的代碼以將它們彼此連接起來。

kad1.bootstrap(kad2.getNode()); 

但是那是在它​​運行的同一個程序中連接它們。

我想將它們連接到不同的計算機。一直呆在這裏好幾個小時。我不知道如何使用它。

回答

0

根據Kademlia協議,您可以在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); 

可以從節點自舉節點2 1.

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);