Пример обнаружения однорангового узла Libp2p DHT на JS
Согласно документации Libp2p DHT может использоваться для обнаружения пира.
Кроме того, Filecoin утверждает, что они используют libp2p Kademlia DHT для обнаружения пиров на ходу.
Пока мне не удалось найти никаких рабочих примеров того, как настроить его на JS.
Когда я указываю DHT для peerDiscovery:
modules: {
transport: [TCP],
streamMuxer: [MPLEX],
connEncryption: [SECIO],
peerDiscovery: [KadDHT],
dht: KadDHT,
pubsub: GossipSub,
},
У меня в журнале ошибка:
Error: libp2p-kad-dht requires an instance of Dialer
Кто-нибудь может помочь?
1 ответ
Согласно документации API js-libp2p, вы можете передать объект конфигурации libp2p Dialer при создании экземпляра libp2p.
const Libp2p = require('libp2p')
const TCP = require('libp2p-tcp')
const MPLEX = require('libp2p-mplex')
const { NOISE } = require('libp2p-noise')
const { dnsaddrResolver } = require('multiaddr/src/resolvers')
const node = await Libp2p.create({
modules: {
transport: [TCP],
streamMuxer: [MPLEX],
connEncryption: [NOISE]
},
dialer: {
maxParallelDials: 100,
maxDialsPerPeer: 4,
dialTimeout: 30e3,
resolvers: {
dnsaddr: dnsaddrResolver
}
}