{"record":{"id":"4446e468a85e223a","repo":"ipfs/kubo","slug":"invalid-peer-address","errorCode":null,"errorMessage":"invalid peer address","messagePattern":"invalid peer address","errorType":"error_code","errorClass":"ErrInvalidPeerAddr","httpStatus":null,"severity":"error","filePath":"config/bootstrap_peers.go","lineNumber":11,"sourceCode":"package config\n\nimport (\n\t\"errors\"\n\n\tpeer \"github.com/libp2p/go-libp2p/core/peer\"\n\tma \"github.com/multiformats/go-multiaddr\"\n)\n\n// ErrInvalidPeerAddr signals an address is not a valid peer address.\nvar ErrInvalidPeerAddr = errors.New(\"invalid peer address\")\n\nfunc (c *Config) BootstrapPeers() ([]peer.AddrInfo, error) {\n\treturn ParseBootstrapPeers(c.Bootstrap)\n}\n\nfunc (c *Config) SetBootstrapPeers(bps []peer.AddrInfo) {\n\tc.Bootstrap = BootstrapPeerStrings(bps)\n}\n\n// ParseBootstrapPeers parses a bootstrap list into a list of AddrInfos.\nfunc ParseBootstrapPeers(addrs []string) ([]peer.AddrInfo, error) {\n\tmaddrs := make([]ma.Multiaddr, len(addrs))\n\tfor i, addr := range addrs {\n\t\tvar err error\n\t\tmaddrs[i], err = ma.NewMultiaddr(addr)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}","sourceCodeStart":1,"sourceCodeEnd":29,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/config/bootstrap_peers.go#L1-L29","documentation":"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.","triggerScenarios":"Thrown at config/bootstrap_peers.go:11 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix or remove the malformed entry in the Bootstrap config list","Replace the list with the default via 'ipfs bootstrap add --default'","Ensure each entry is a valid multiaddr ending in /p2p/<peerID>"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}