ipfs/kubo · error · ErrInvalidPeerAddr

invalid peer address

Error message

invalid peer address

What it means

Sentinel error ErrInvalidPeerAddr from config bootstrap parsing: a bootstrap entry string failed to parse as a peer multiaddr (missing /p2p/ peer ID component, malformed multiaddr, or unparsable AddrInfo). The offending entry is in the Bootstrap list being parsed by ParseBootstrapPeers.

Source

Thrown at config/bootstrap_peers.go:11

package config

import (
	"errors"

	peer "github.com/libp2p/go-libp2p/core/peer"
	ma "github.com/multiformats/go-multiaddr"
)

// ErrInvalidPeerAddr signals an address is not a valid peer address.
var ErrInvalidPeerAddr = errors.New("invalid peer address")

func (c *Config) BootstrapPeers() ([]peer.AddrInfo, error) {
	return ParseBootstrapPeers(c.Bootstrap)
}

func (c *Config) SetBootstrapPeers(bps []peer.AddrInfo) {
	c.Bootstrap = BootstrapPeerStrings(bps)
}

// ParseBootstrapPeers parses a bootstrap list into a list of AddrInfos.
func ParseBootstrapPeers(addrs []string) ([]peer.AddrInfo, error) {
	maddrs := make([]ma.Multiaddr, len(addrs))
	for i, addr := range addrs {
		var err error
		maddrs[i], err = ma.NewMultiaddr(addr)
		if err != nil {
			return nil, err
		}

View on GitHub (pinned to 329838acdf)

Solutions

  1. Fix or remove the malformed entry in the Bootstrap config list
  2. Replace the list with the default via 'ipfs bootstrap add --default'
  3. Ensure each entry is a valid multiaddr ending in /p2p/<peerID>
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at config/bootstrap_peers.go:11 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ipfs/kubo@329838acdf (2026-09-03). Data as JSON: /api/errors/4446e468a85e223a. Report an issue: GitHub.