问题标签 [libp2p]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
204 浏览

libp2p - 使用 mdns 发现对等点的配置

我正在努力使这个例子工作。它应该创建两个支持 mdns 的节点。Mdns 应该每秒宣布一次对等点,每个对等点都设置为在找到对等点后打印一条语句。

运行它时,控制台输出只是空的。它打印出我关心的一些垃圾错误:(node:51841) ExperimentalWarning: Readable[Symbol.asyncIterator] is an experimental feature. This feature could change at any time

如何启用调试日志,以便我可以尝试了解引擎盖下发生了什么?我想验证 mdns 宣布数据包是否已发出,可能是否已收到。

或者,我正在尝试使用引导模块从 wan 对等方开始,尽管预计它会慢得多,因此我更喜欢使用 mdns。

我尝试添加各种配置和模块但没有取得多大成功,如果我只想在 dht 上公布一些数据,是否需要使用 gossip 模块对我来说不是很清楚。类似的东西。

任何帮助表示赞赏。

编辑:发现我可以使用 DEBUG 环境变量来打印调试语句,尽管我仍然有事件系统的问题。

0 投票
0 回答
122 浏览

ipfs - 连接到对等方时出现无效版本号错误

尝试连接到节点时出现错误。IPFS 实例是在一个类中创建的,带有一个 JavaScript 工厂函数。连接函数如下所示:

这将传递给 swarm.connet:/p2p-circuit/ipfs/QmWxWkrCcgNBG2uf1HSVAwb9RzcSYYC2d6CRsfJcqrz2FX

这是我得到的错误:

它能够连接到对等点,如果我列出连接的对等点,则列表不为空。

0 投票
1 回答
58 浏览

blockchain - 了解 Polkadot 通信子流

我试图了解/dot/block-announces/1协议选择的步骤。首先,必须创建一个 nosie 的传输,ymux。打开一个安全通道,最重要的是ipfs/ping/1.0.0ipfs/id/1.0.0选择并交换连接活动状态信息(定期)。传输如何/dot/block-announces/1从协议升级到ipfs/ping协议?一旦块请求被提供,块公告子流会被关闭吗?升级选择错误事件何时发生?如果我错了,请纠正我但跳过握手,因为块宣布协议不需要它。

规格链接

0 投票
1 回答
390 浏览

node.js - 将浏览器连接到 NodeJS IPFS 节点

我正在尝试将浏览器js-ipfs节点连接到运行节点的 NodeJS 服务器js-ipfs。我知道我需要将服务器添加Multiaddr到浏览器的引导配置中才能连接两个节点。

但是,由于我的网站使用HTTPS,当我尝试通过它将浏览器连接到我的服务器ws时会发出此警告:An insecure WebSocket connection may not be initiated from a page loaded over HTTPS.但据我了解,NodeJSjs-ipfs无法收听wss呼叫。

那么我该如何连接两个节点呢?使用 WebSockets 是唯一的还是最好的方法?

0 投票
0 回答
353 浏览

javascript - JS 中的 Libp2p DHT 对等点发现示例

根据 Libp2p 文档,DHT 可用于对等发现。

此外,Filecoin 声称他们正在使用 libp2p Kademlia DHT 来发现 go 中的对等点。

到目前为止,我还没有找到任何关于如何在 JS 中设置它的工作示例。

当我为 peerDiscovery 指定 DHT 时:

我在日志中收到错误:

有人可以帮忙吗?

0 投票
1 回答
83 浏览

typescript - 在电子应用程序中,仅在 main.ts 中导入 libp2p 会导致“未定义自我”

在电子应用程序中,只需在 main.ts 中导入 libp2p :

导致此错误:

tsconfig.json :

开发依赖:

依赖项:

  • 节点版本:v14.5.0
  • 操作系统:Ubuntu 18.04.4 桌面

我发现在导入另一个 libp2p 库时也会发生这种情况:

如何解决问题?

0 投票
1 回答
111 浏览

github - npm 安装失败 libp2p-websockets

我目前正在做一个 IPFS 项目。安装依赖项时 - 当我运行时

npm i libp2p-websockets

我收到以下错误消息:

我已经设置了 SSH 配置。

你知道如何解决这个问题吗?

0 投票
0 回答
67 浏览

ipfs - 运行 js Ipfs 位交换基准的问题

我正在尝试对 IPFS 位交换的 js 实现进行一些性能测试。我已经按照这里的 git repo 中的说明进行操作:

https://github.com/ipfs/js-ipfs-bitswap

但是如果我执行 npm run benchmarks 或 0x test/benchmarks/get-many

我只是得到错误:

'拨号请求没有地址'), 代码.ERR_NO_VALID_ADDRESSES)

按照代码,我似乎没有生成有效的多地址。

我确定这应该是微不足道的,我可能遗漏了一些完全明显的东西,但是在运行基准测试时,任何人都可以指出我正确的方向吗?Npm 运行测试工作正常。

0 投票
0 回答
50 浏览

go - 您如何在与 libp2p-go 的直接 p2p 连接中手动刷新写入?

我找不到与 libp2p 中的对等点直接连接来刷新写入的 API(它在 pubsub 中运行良好)。libp2p-go我在 Go 中使用using创建了一个直接的 libp2p 连接host.NewStream。该流由下面的包装器使用。问题是当我写入这个流时,另一端的对等端没有收到消息。底层network.Stream似乎在 libp2p 的网络中进行了内部缓冲。但是我找不到一种方法来network.Stream刷新go-libp2p-core. 其实我到处都找不到。更改我的包装器以使用bufio读取器和写入器没有效果,因为它不会刷新 libp2p 的内部缓冲。我知道消息已发送,因为当我关闭流时,远程对等方会收到它们。

0 投票
0 回答
125 浏览

browser - Pubsub 对等方已连接但未收到消息

我有两个 JS-IPFS 浏览器节点(在同一系统上的两个不同浏览器中),公共 WebRTC-star 信令服务器在它们的群地址配置中。节点似乎已连接,因为当一个订阅 pubsub 主题时,另一个获得该pubsub.peers主题的新对等点,但未收到 pubsub 消息。