mar*_*odb 4 node.js ipfs libp2p
我正在寻找一种解决方案,将消息从 IPFS 对等点发送到另一个
在github 文档中,我发现这段代码将一个对等点连接到另一个点:
ipfs.swarm.connect(addr, function (err) {
if (err) {
throw err
}
// if no err is present, connection is now open
})
Run Code Online (Sandbox Code Playgroud)
但根据文档,连接后没有任何反应。
有一个名为ipfs-pubsub-room 的解决方案可以处理对等点之间的消息传递,但没有适用于浏览器的 CDN。
ipfs.swarm.connect将简单地连接两个节点,以便它们可以交换文件。
ipfs-pubsub-room 应该可以在浏览器中正常工作,但是,您需要自己打包它。
但是,如果您只需要直接从一个对等点发送消息到另一个对等点,您也可以直接通过该属性使用IPFS 的网络库libp2p 。ipfs.libp2p
要侦听入站消息,您可以在节点之一上注册“协议处理程序”:
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())
}))
})
Run Code Online (Sandbox Code Playgroud)
(其中ipfs是初始化的IPFS节点对象,不是IPFS导入。)
要发送消息,您必须“拨打”对等点/协议:
const pull = require('pull-stream')
ipfs.libp2p.dialProtocol(addr, '/my/protocol/name/1.0.0', (err, connection) => {
pull(pull.values(["my message"]), connection)
})
Run Code Online (Sandbox Code Playgroud)
您可以在js-ipfs 文档中找到完整的示例。
| 归档时间: |
|
| 查看次数: |
2963 次 |
| 最近记录: |