我正在使用nodejs
,expressjs
,angularjs
,socket.io
和ipfs
编写一个去中心化的聊天应用程序。我正在使用libp2p形成将通过开放连接彼此通信的 Node 。 Libp2p是从IPFS项目模块化的网络堆栈。
Libp2p允许我构建nodes
,它能够将swarm
或listening/ dialing
托管到一个。我已经发展到了几个 Node 可以通过angularjs(由socket.io补充)网页中的输入相互通信的地方,但是它们的IP地址和tcp
端口需要进行硬编码。
我面临的问题是,如果数量不明的用户加入该系统并设置他们的 Node ,我将如何处理该方案。我已经对DHT
进行了很多研究,特别是对使用torrent的ojit_code进行了研究,但距离实际应用它还很遥远。
我不想运行一个跟踪用户的中央系统,而跟踪器却跟踪山洪中的播种机和淋滤器(由于DHT而有些多余)
在集中式聊天应用程序中,每次用户进入或离开时,我都可以使用socket.io发出的信号从服务器向所有对等方发送发射事件。但是,去中心化聊天应用程序中的等效功能却让我非常苦恼。
我需要一些指导。
最佳答案
您不必特别担心该问题,因为libp2p将处理 Node 的发现和连接。最后,您将获得用于过程寻址的原语,如果在网络中可访问该原语,则该原语将始终拨打该过程。
我最近一直在为libp2p寻找更好的文档和教程,请转到https://github.com/libp2p/js-libp2p/tree/master/examples和https://github.com/libp2p/js-libp2p。下周将有更多示例,包括对等路由+内容路由(aka DHT)。
干杯!
关于node.js - 使用IPFS的去中心化聊天应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38880475/