gpt4 book ai didi

node.js - IPFS-如何将消息从一个点发送到另一个点?

转载 作者:搜寻专家 更新时间:2023-10-31 23:44:33 28 4
gpt4 key购买 nike

我正在寻找一种将消息从 IPFS Node 发送到另一个 Node 的解决方案

github doc我发现这段代码将对等点连接到另一个对等点:

ipfs.swarm.connect(addr, function (err) {
if (err) {
throw err
}
// if no err is present, connection is now open
})

但根据文档,连接后无事可做。

有一个名为 ipfs-pubsub-room 的解决方案处理点之间的消息传递,但没有用于浏览器的 CDN。

最佳答案

ipfs.swarm.connect 将简单地连接两个 Node ,以便它们可以交换文件。

ipfs-pubsub-room 应该可以在浏览器中正常工作,但是是的,您需要自己打包它。

但是,您可以使用 libp2p ,IPFS 的网络库,直接通过 ipfs.libp2p 属性,如果您只需要直接从一个点发送消息到另一个点。

监听入站消息,您可以在您的一个 Node 上注册一个“协议(protocol)处理程序”:

const pull = require('pull-stream')
ipfs.libp2p.handle('/my/protocol/name/1.0.0', (protocolName, connection) => {
pull(connection, pull.collect((err, data) => {
console.log("received:", data.toString())
}))
})

(其中 ipfsinitialized IPFS Node 对象,而不是 IPFS 导入。)

要发送消息,您必须“调用”对等点/协议(protocol):

const pull = require('pull-stream')
ipfs.libp2p.dialProtocol(addr, '/my/protocol/name/1.0.0', (err, connection) => {
pull(pull.values(["my message"]), connection)
})

您可以在 js-ipfs documentation 中找到完整的示例.

关于node.js - IPFS-如何将消息从一个点发送到另一个点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53467489/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com