1

当我运行这个时使用 IPFS JS:

const ipfsNode = await IPFS.create();
const addresses = await ipfsNode.swarm.localAddrs();
console.log(addresses);

我明白了:

Swarm listening on /ip4/127.0.0.1/tcp/4002/p2p/PeeridFooBar
Swarm listening on /ip4/192.168.0.113/tcp/4002/p2p/PeeridFooBar
Swarm listening on /ip4/127.0.0.1/tcp/4003/ws/p2p/PeeridFooBar

但所有这些都是本地/局域网地址。我如何获得一个公共 ID,以便我可以从另一个节点通过 Internet 连接到该节点,如下所示:jsipfs swarm connect PUBLIC ADDRESS HERE

4

1 回答 1

3

您可以通过 libp2p config配置您的公共 IP 。

通过js-ipfs,您可以查看此示例,了解如何为 libp2p 提供自定义配置。

这里的目标是将您的公共 IP 添加到announcelibp2p 的地址中,以便其他节点知道如何访问您节点的公共地址。在此之后,您将 nginx 设置为从公共 IP 转发到节点的内部私有 IP。

于 2020-08-03T08:36:27.113 回答