Java的Kademlia实现 [英] Kademlia Implementation in Java
问题描述
我想建立一个Kademlia网络来连接对等点并建立一个p2p网络.我将分配网络内节点的处理能力.对于网络,我发现此Kademlia Java从git实现了安装程序. 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());
但是那是将它们连接到正在运行的同一程序中.
我想将它们相应地连接到不同的计算机.在这里呆了几个小时.我不知道该怎么用.
您应该有两个节点实例.
实例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);
I want to setup a Kademlia network to connect peers and build a p2p network. I'm going to distribute processing power of nodes within the network. For network I found this Kademlia Java implemented Setup from git. https://github.com/JoshuaKissoon/Kademlia
I want to know how to setup this and use to implement the network. I found that
JKademliaNode kad1 = new JKademliaNode("Node1", new KademliaId("ASF45678947584567467"), 7574);
JKademliaNode kad2 = new JKademliaNode("Node2", new KademliaId("ASERTKJDHGVHERJHGFLK"), 7572);
is used to create 2 instances of the peers and following code to connect them with each other.
kad1.bootstrap(kad2.getNode());
But that was to connect them in the same program where it's running.
I want to connect them accordingly for different computers. Been stuck here for hours. I don't know how to use this.
According to Kademlia protocol you can find in here, "To join the network, n node U must have a contact to an already participating node W. U then performs a node lookup for it's own node ID."
You should have two instance of the nodes.
Instance 1:
JKademliaNode kad1 = new JKademliaNode("Node1", new KademliaId("ASF45678947584567467"), 7574);
Instance 2:
JKademliaNode kad2 = new JKademliaNode("Node2", new KademliaId("ASERTKJDHGVHERJHGFLK"), 7572);
You can bootstrap the node2 from node 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);
这篇关于Java的Kademlia实现的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!