This package has been deprecated

    Author message:

    No longer supported for js-libp2p0.28.0 or later

    peer-info
    TypeScript icon, indicating that this package has built-in type declarations

    0.17.5 • Public • Published

    js-peer-info

    Discourse posts Dependency Status js-standard-style

    Lead Maintainer

    Vasco Santos

    Table of Contents

    Installation

    npm

    > npm i peer-info

    Node.JS, Browserify, Webpack

    const PeerInfo = require('peer-info')

    Browser: <script> Tag

    Loading this module through a script tag will make the PeerInfo obj available in the global namespace.

    <script src="https://unpkg.com/peer-info/dist/index.min.js"></script>
    <!-- OR -->
    <script src="https://unpkg.com/peer-info/dist/index.js"></script>

    Usage

    const PeerInfo = require('peer-info')
    const peer = new PeerInfo()
     
    // TCP port 5001
    peer.multiaddrs.add('/ip4/1.2.3.4/tcp/5001')
     
    // UDP port 8001
    peer.multiaddrs.add('/ip4/1.2.3.4/udp/8001')
     
    // mic/speaker soundwaves using frequencies 697 and 1209
    peer.multiaddrs.add('/sonic/bfsk/697/1209')

    API

    const PeerInfo = require('peer-info')

    PeerInfo.create([id])

    Creates a new PeerInfo instance and if no id is passed it generates a new underlying PeerID for it.

    Returns Promise<PeerInfo>.

    new PeerInfo(id)

    • id: PeerId - instance of PeerId (optional)

    Creates a new PeerInfo instance from an existing PeerId.

    .id

    The PeerId of the peer this info relates to.

    protocols

    A list of protocols that peer supports.

    .protocols.add(protocol)

    Adds a protocol that peer can support. protocol is a string.

    .protocols.delete(protocol)

    Removes a protocol that peer no longer supports. protocol is a string.

    .multiaddrs

    A list of multiaddresses instances that peer can be reached at.

    .multiaddrs.add(addr)

    • addr: Multiaddr

    Adds a new multiaddress that peer can be reached at. addr is an instance of a multiaddr.

    .multiaddrs.addSafe(addr)

    • addr: Multiaddr

    The addSafe call, in comparison to add, will only add the multiaddr to multiaddrs if the same multiaddr tries to be added twice.

    This is a simple mechanism to prevent multiaddrs from becoming bloated with unusable addresses, which happens when we exchange observed multiaddrs with peers which will not provide a useful multiaddr to be shared to the rest of the network (e.g. a multiaddr referring to a peer inside a LAN being shared to the outside world).

    .multiaddrs.delete(addr)

    • addr: Multiaddr

    Removes a multiaddress instance addr from peer.

    .multiaddrs.replace(existing, fresh)

    • existing: Multiaddr
    • fresh: Multiaddr

    Removes the array of multiaddresses existing from peer, and adds the array of multiaddresses fresh.

    .connect(ma)

    Records the given multiaddr, ma as the active multiaddr of the peer.

    • ma: Multiaddr

    .disconnect()

    Removes the existing connected Multiaddr from tracking.

    .isConnected()

    Returns true if a connected Multiaddr exists, otherwise returns false.

    Contribute

    PRs accepted.

    Small note: If editing the Readme, please conform to the standard-readme specification.

    License

    MIT © David Dias

    Keywords

    Install

    npm i peer-info

    DownloadsWeekly Downloads

    11,428

    Version

    0.17.5

    License

    MIT

    Unpacked Size

    5.98 MB

    Total Files

    13

    Last publish

    Collaborators

    • jacobheun
    • daviddias
    • achingbrain
    • pgte
    • vascosantos