1

When I run js-libp2p, I got this error, it seems to have found the peerid, but multiaddr is not right. I don't know why the multiaddr has two peerid like this'/ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ'

  libp2p:connection-manager options: { maxConnections: 10, minConnections: 4, maxEventLoopDelay: Infinity, pollInterval: 2000, autoDialInterval: 10000, inboundConnectionThreshold: 5, maxIncomingPendingConnections: 10, autoDial: true, maxParallelDials: 100, maxDialsPerPeer: 4, dialTimeout: 10000, inboundUpgradeTimeout: 30000, resolvers: { dnsaddr: [AsyncFunction: dnsaddrResolver] }, addressSorter: [Function: publicAddressesFirst] } +0ms
  libp2p:connection-manager:auto-dialler options: {"enabled":true,"minConnections":4,"autoDialInterval":10000} +0ms
  libp2p:transports adding transport @libp2p/tcp +0ms
  libp2p:transports adding transport libp2p/circuit-relay-v1 +0ms
  libp2p:connection-manager started +2ms
  libp2p:transports creating listener for @libp2p/tcp on /ip4/0.0.0.0/tcp/0 +1ms
  libp2p:connection-manager:auto-dialler started +4ms
  libp2p:mdns:query query _p2p._udp.local +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:tcp:listener Listening on { address: '0.0.0.0', family: 'IPv4', port: 49601 } +0ms
  libp2p:peer-store:address-book stored provided peer record for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:connection-manager options: { maxConnections: 10, minConnections: 4, maxEventLoopDelay: Infinity, pollInterval: 2000, autoDialInterval: 10000, inboundConnectionThreshold: 5, maxIncomingPendingConnections: 10, autoDial: true, maxParallelDials: 100, maxDialsPerPeer: 4, dialTimeout: 10000, inboundUpgradeTimeout: 30000, resolvers: { dnsaddr: [AsyncFunction: dnsaddrResolver] }, addressSorter: [Function: publicAddressesFirst] } +46ms
  libp2p:connection-manager:auto-dialler options: {"enabled":true,"minConnections":4,"autoDialInterval":10000} +42ms
  libp2p:transports adding transport @libp2p/tcp +45ms
  libp2p:transports adding transport libp2p/circuit-relay-v1 +0ms
  libp2p:connection-manager started +0ms
  libp2p:transports creating listener for @libp2p/tcp on /ip4/0.0.0.0/tcp/0 +1ms
  libp2p:connection-manager:auto-dialler started +1ms
  libp2p:mdns:query query _p2p._udp.local +42ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +37ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +1ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +0ms
  libp2p:peer-store:proto-book added provided protocols for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +0ms
  libp2p:tcp:listener Listening on { address: '0.0.0.0', family: 'IPv4', port: 49602 } +36ms
  libp2p:peer-store:address-book stored provided peer record for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +17ms
  libp2p:mdns:query responding to query +15ms
  libp2p:mdns:query responding to query +1ms
  libp2p:mdns:query responding to query +1ms
  libp2p:mdns:query responding to query +0ms
  libp2p:mdns:query responding to query +5ms
  libp2p:mdns:query responding to query +1ms
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:peer-store:address-book added multiaddrs for 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +12ms
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +1ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ +0ms
Peer1 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv discovered: 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/127.0.0.1/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
Discovered1: /ip4/192.168.1.176/tcp/49601/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ/p2p/12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ
  libp2p:mdns:query peer found 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +1ms
  libp2p:mdns discovered peer in mDNS query response 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +1ms
  libp2p:connection-manager dial to PeerId(12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv) +29ms
Peer2 12D3KooWAYVAAk7tWYkKRATq44JvWLAnzinsuNUukVAwyhvvwKbQ discovered: 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv
  libp2p:dialer creating dial target for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +0ms
  libp2p:peer-store:address-book added multiaddrs for 12D3KooWQgHa4kbF2C9xzwLUhRPtPkWV263x4DCdG72H1trKqDwv +4ms
file:///Users/wangfaguo/Desktop/project/AwesomeProject/nodejs-assets/nodejs-project/node_modules/libp2p/dist/src/connection-manager/dialer/index.js:102
            throw errCode(new Error('The dial request has no valid addresses'), codes.ERR_NO_VALID_ADDRESSES);
                          ^

Error: The dial request has no valid addresses
    at DefaultDialer.dial (file:///Users/wangfaguo/Desktop/project/AwesomeProject/nodejs-assets/nodejs-project/node_modules/libp2p/dist/src/connection-manager/dialer/index.js:102:27)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async DefaultConnectionManager.openConnection (file:///Users/wangfaguo/Desktop/project/AwesomeProject/nodejs-assets/nodejs-project/node_modules/libp2p/dist/src/connection-manager/index.js:306:32)
    at async Libp2pNode.dial (file:///Users/wangfaguo/Desktop/project/AwesomeProject/nodejs-assets/nodejs-project/node_modules/libp2p/dist/src/libp2p.js:256:16) {
  code: 'ERR_NO_VALID_ADDRESSES'
}

it seem to has found the peerid,but multiaddr is not right.

  1. environment

libp2p :v0.43.4 node 18.12.1 npm 8.19.2

  1. code
import { createLibp2p } from 'libp2p'
import { tcp } from '@libp2p/tcp'
import { mplex } from '@libp2p/mplex'
import { noise } from '@chainsafe/libp2p-noise'
import { mdns } from '@libp2p/mdns'
import os from 'os'
import { bootstrap } from '@libp2p/bootstrap'
import { kadDHT } from '@libp2p/kad-dht'
import { gossipsub } from '@chainsafe/libp2p-gossipsub'
import { multiaddr } from '@multiformats/multiaddr'


const createNode = async () => {
  const node = await createLibp2p({
    addresses: {
      listen: ['/ip4/0.0.0.0/tcp/0']
    },
    transports: [
      tcp()
    ],
    streamMuxers: [
      mplex()
    ],
    kadDHT:kadDHT(),
    connectionEncryption: [
      noise()
    ],
    peerDiscovery: [
      mdns()
    ],
    connectionManager: {
      maxConnections:10,
      minConnections: 4,
      dialTimeout: 10e3,
    },
    dialer: {
      dialTimeout: 120000,
    }
  })

  return node
}

;(async () => {
  const [node1, node2] = await Promise.all([
    createNode(),
    createNode()
  ])
  node1.addEventListener('peer:connect', (evt) => {
    console.log('connect to: ', evt.detail.remotePeer.toString())
  })
  node1.addEventListener('peer:disconnect', (evt) => {
    console.log('connect to: ', evt.detail.remotePeer.toString())
  })

  node2.addEventListener('peer:connect', (evt) => {
    console.log('connect to: ', evt.detail.remotePeer.toString())
  })
  node2.addEventListener('peer:disconnect', (evt) => {
    console.log('connect to: ', evt.detail.remotePeer.toString())
  })

  node1.addEventListener('peer:discovery', (evt) => {
    const peer = evt.detail
    console.log(`Peer1 ${node1.peerId.toString()} discovered: ${peer.id.toString()}`)
    
    evt.detail.multiaddrs.forEach((ma) => {
      console.log('Discovered1:',ma.toString())
    })
  })
  node2.addEventListener('peer:discovery', (evt) => {
    const peer = evt.detail
    node2.dial(peer.id)
    console.log(`Peer2 ${node2.peerId.toString()} discovered: ${peer.id.toString()}`)
  })


})();

marc_s
  • 732,580
  • 175
  • 1,330
  • 1,459
tobebetter
  • 11
  • 2

0 Answers0