使用IPFS的分散式聊天应用程序

时间:2016-08-10 17:59:30

标签: node.js p2p blockchain dht ipfs

我正在使用nodejsexpressjsangularjssocket.ioipfs撰写分散式聊天应用程序。我正在使用libp2p来形成将通过开放连接相互通信的节点。 Libp2p是IPFS项目模块化的网络堆栈。

Libp2p允许我构建nodes,它能够托管swarmlistening/ dialing到一个。我已经发展到几个节点可以通过angularjs(由socket.io补充)网页中的输入相互通信,但是他们的IP地址和tcp端口需要进行硬编码。

我面临的问题是,如果未知数量的用户加入此系统并设置其节点,我该如何处理该方案。我已经对DHT进行了大量研究,专门研究了它在种子应用中的应用,但我并没有接近实际应用它。

我不想运行一个跟踪用户的中央系统,因为跟踪器跟踪种子中的播种者和传感器(由于DHT现在有些多余)

在集中式聊天应用程序中,每次用户进入或离开时,我都可以使用socket.io信号从服务器向所有对等方发送emit事件。但是,分散式聊天应用程序中的等价物是我正在努力解决的问题。

我需要一些指导。

1 个答案:

答案 0 :(得分:2)

您不必担心该问题,因为libp2p将处理节点的发现和连接。最后,您将获得进程寻址的原语,如果可以在网络中访问该进程,它将始终拨打该进程。

我最近一直在为更好的libp2p文档和教程工作,请转到https://github.com/libp2p/js-libp2p/tree/master/exampleshttps://github.com/libp2p/js-libp2p。下周将有更多例子,包括Peer Routing + Content Routing(又名DHT)。

干杯!