我正在开发一个简单的项目来了解如何使用 DHT。这是:https://github.com/ashish10677/dht-implementation 该项目只是运行一个 libp2p 节点并发布它的对等 ID。其他机器可以使用第一个节点提供的对等 ID 来运行相同的程序来连接它。
所以,基本上场景是这样的:假设我们有 3 台机器。 #Mach1 是我个人的 MacBook Air (m1),#Mach2 是 GCP VM,#Mach3 也是 GCP VM。
如果我通过提供公共 IP 和端口来启动 #Mach2 中的程序,它会给出要连接的对等信息。使用该信息 #Mach1 和 #Mach3 能够连接,并且由于它是 DHT,因此所有节点都相互连接。
现在,如果我重复相同的过程,但从 #Mach1 开始,那么其他两台机器(虚拟机)#Mach2 和 Mach3 将无法相互连接。我收到错误:
拨打12D3KooWLQaT8UhctNM9LJiSpL11ZcV5YgrZPwW8uj1SrZ2Lbuqt失败:
我尝试在路由器上启用端口转发。我也尝试过使用 VPN。这没有帮助。