peer-info JavaScript implementation
![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)
A PeerInfo object contains information about a
PeerID and its
multiaddrs. This module is used by
IPFS and
libp2p.
Example
const PeerInfo = require('peer-info')
const multiaddr = require('multiaddr')
const peer = new PeerInfo()
peer.multiaddr.add(multiaddr('/ip4/1.2.3.4/tcp/5001'))
peer.multiaddr.add(multiaddr('/ip4/1.2.3.4/udp/8001'))
peer.multiaddr.add(multiaddr('/sonic/bfsk/697/1209'))
API
const PeerInfo = require('peer-info')
const peer = new PeerInfo()
Creates a new PeerInfo instance and also generates a new underlying
PeerID for it.
const peer = new PeerInfo(peerId)
Creates a new PeerInfo instance from an existing PeerID.
peer.multiaddrs
A list of multiaddresses instances that peer
can be reached at.
peer.multiaddr.add(addr)
Adds a new multiaddress that peer
can be reached at. addr
is an instance of
a multiaddr.
peer.multiaddr.addSafe(addr)
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).
peer.multiaddr.rm(addr)
Removes a multiaddress instance addr
from peer
.
peer.multiaddr.replace(existing, fresh)
Removes the array of multiaddresses existing
from peer
, and adds the array
of multiaddresses fresh
.
Installation
npm
> npm i peer-info
Node.JS, Browserify, Webpack
var 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://npmcdn.com/peer-info/dist/index.min.js"></script>
<script src="https://npmcdn.com/peer-info/dist/index.js"></script>
License
MIT