Multiaddr to remove from this Multiaddr
import { multiaddr } from '@multiformats/multiaddr'
const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
// Multiaddr(/ip4/8.8.8.8/tcp/1080)
const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
// Multiaddr(/ip4/127.0.0.1/tcp/4001)
const mh3 = mh1.encapsulate(mh2)
// Multiaddr(/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001)
mh3.decapsulate(mh2).toString()
// '/ip4/8.8.8.8/tcp/1080'
A more reliable version of decapsulate
if you are targeting a specific
code, such as 421 (the p2p
protocol code). The last index of the code
will be removed from the Multiaddr
, and a new instance will be returned.
If the code is not present, the original Multiaddr
is returned.
import { multiaddr } from '@multiformats/multiaddr'
const addr = multiaddr('/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC')
// Multiaddr(/ip4/0.0.0.0/tcp/8080/p2p/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSupNKC)
addr.decapsulateCode(421).toString()
// '/ip4/0.0.0.0/tcp/8080'
multiaddr('/ip4/127.0.0.1/tcp/8080').decapsulateCode(421).toString()
// '/ip4/127.0.0.1/tcp/8080'
Encapsulates a Multiaddr in another Multiaddr
Multiaddr to add into this Multiaddr
import { multiaddr } from '@multiformats/multiaddr'
const mh1 = multiaddr('/ip4/8.8.8.8/tcp/1080')
// Multiaddr(/ip4/8.8.8.8/tcp/1080)
const mh2 = multiaddr('/ip4/127.0.0.1/tcp/4001')
// Multiaddr(/ip4/127.0.0.1/tcp/4001)
const mh3 = mh1.encapsulate(mh2)
// Multiaddr(/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001)
mh3.toString()
// '/ip4/8.8.8.8/tcp/1080/ip4/127.0.0.1/tcp/4001'
Returns the components that make up this Multiaddr
Decapsulates a Multiaddr from another Multiaddr