如何仅使用 DHT WebRTC 对等点在浏览器中启动 IPFS?
How to start IPFS in browser by using only DHT WebRTC peers?
我在浏览器中使用这段代码。它似乎是通过 http? 连接到 ipfs.io。我只想连接到 DHT webRTC 对等方。我猜我需要将一些选项传递给 Ipfs.create?我在这里看到了一个自定义 libp2p 的示例,但是选项的数量太多了。 https://github.com/ipfs/js-ipfs/blob/master/examples/custom-libp2p/index.js
<script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>
<script>
(async () => {
const node = await Ipfs.create()
const data = 'Hello'
const results = await node.add(data)
console.log(results)
})()
</script>
您可以在创建实例时传递 IPFS 配置选项,这使您可以指定要监听的远程 WebRTC 地址,以及 remove/change 最初连接的 Bootstrap 节点。您可以在 https://github.com/ipfs/js-ipfs/blob/ipfs%400.49.1/examples/browser-exchange-files/public/app.js#L48 的文件交换示例中看到这一点。所以您的配置可能如下所示:
const node = await Ipfs.create({
config: {
Addresses: {
Swarm: [
// These are public webrtc-star servers
'/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star',
'/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star'
]
},
// This removes the default IPFS peers to dial to. You can specify any known addresses you wish, or leave blank.
Bootstrap: []
}
})
正如您提到的 DHT,我只想指出 运行 WebRTC 上的 DHT 在小型、孤立的网络之外确实不可行。由于 WebRTC 拨号可能需要一些时间,这对 DHT 查询时间有很大影响。
我在浏览器中使用这段代码。它似乎是通过 http? 连接到 ipfs.io。我只想连接到 DHT webRTC 对等方。我猜我需要将一些选项传递给 Ipfs.create?我在这里看到了一个自定义 libp2p 的示例,但是选项的数量太多了。 https://github.com/ipfs/js-ipfs/blob/master/examples/custom-libp2p/index.js
<script src="https://cdn.jsdelivr.net/npm/ipfs/dist/index.min.js"></script>
<script>
(async () => {
const node = await Ipfs.create()
const data = 'Hello'
const results = await node.add(data)
console.log(results)
})()
</script>
您可以在创建实例时传递 IPFS 配置选项,这使您可以指定要监听的远程 WebRTC 地址,以及 remove/change 最初连接的 Bootstrap 节点。您可以在 https://github.com/ipfs/js-ipfs/blob/ipfs%400.49.1/examples/browser-exchange-files/public/app.js#L48 的文件交换示例中看到这一点。所以您的配置可能如下所示:
const node = await Ipfs.create({
config: {
Addresses: {
Swarm: [
// These are public webrtc-star servers
'/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star',
'/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star'
]
},
// This removes the default IPFS peers to dial to. You can specify any known addresses you wish, or leave blank.
Bootstrap: []
}
})
正如您提到的 DHT,我只想指出 运行 WebRTC 上的 DHT 在小型、孤立的网络之外确实不可行。由于 WebRTC 拨号可能需要一些时间,这对 DHT 查询时间有很大影响。