如何使用IPFS-JS获取公共IP地址



当我运行以下程序时,使用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

但所有这些都是本地/LAN地址。我如何获得一个公共ID,以便从另一个节点通过互联网连接到此节点,如jsipfs swarm connect PUBLIC ADDRESS HERE

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

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

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

最新更新