@multiformats/multiaddr
    Preparing search index...

    Interface Multiaddr

    interface Multiaddr {
        bytes: Uint8Array;
        decapsulate(addr: string | Multiaddr): Multiaddr;
        decapsulateCode(code: number): Multiaddr;
        encapsulate(addr: MultiaddrInput): Multiaddr;
        equals(addr: { bytes: Uint8Array }): boolean;
        getComponents(): Component[];
        toJSON(): string;
        toString(): string;
    }
    Index

    Properties

    bytes: Uint8Array

    Methods

    • Decapsulates a Multiaddr from another Multiaddr

      Parameters

      • addr: string | Multiaddr

        Multiaddr to remove from this Multiaddr

      Returns 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.

      Parameters

      • code: number

      Returns Multiaddr

      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

      Parameters

      Returns 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'
    • Checks if two Multiaddrs are the same

      Parameters

      Returns boolean

      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)

      mh1.equals(mh1)
      // true

      mh1.equals(mh2)
      // false
    • Returns the components that make up this Multiaddr

      Returns Component[]

      import { multiaddr } from '@multiformats/multiaddr'

      multiaddr('/ip4/127.0.0.1/tcp/4001').getComponents()
      // [{ name: 'ip4', code: 4, value: '127.0.0.1' }, { name: 'tcp', code: 6, value: '4001' }]
    • Returns Multiaddr as a JSON encoded object

      Returns string

      import { multiaddr } from '@multiformats/multiaddr'

      JSON.stringify(multiaddr('/ip4/127.0.0.1/tcp/4001'))
      // '/ip4/127.0.0.1/tcp/4001'
    • Returns Multiaddr as a String

      Returns string

      import { multiaddr } from '@multiformats/multiaddr'

      multiaddr('/ip4/127.0.0.1/tcp/4001').toString()
      // '/ip4/127.0.0.1/tcp/4001'