@multiformats/multiaddr

The JavaScript implementation of the Multiaddr spec
About
A standard way to represent addresses that
- support any standard network protocol
- have a binary packed format
- have a nice string representation
- encapsulate well
Example
import { multiaddr } from '@multiformats/multiaddr'
const addr = multiaddr('/ip4/127.0.0.1/udp/1234')
addr.bytes
addr.toString()
addr.getComponents()
addr.encapsulate('/sctp/5678')
Example - Adding custom protocols
To add application-specific or experimental protocols, add a protocol codec
to the protocol registry:
import { registry, V, multiaddr } from '@multiformats/multiaddr'
import type { ProtocolCodec } from '@multiformats/multiaddr'
const maWithCustomTuple = '/custom-protocol/hello'
multiaddr(maWithCustomTuple)
const protocol: ProtocolCodec = {
code: 2059,
name: 'custom-protocol',
size: V
}
registry.addProtocol(protocol)
multiaddr(maWithCustomTuple)
registry.removeProtocol(protocol.code)
API Docs
License
Licensed under either of
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.