IPFS Peer abstraction JavaScript implementation
$ cnpm install peer-info
> npm i peer-info
const PeerInfo = require('peer-info')
<script> TagLoading 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>
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')
const PeerInfo = require('peer-info')
PeerInfo.create([id])id optional - can be a PeerId or a JSON object(will be parsed with https://github.com/libp2p/js-peer-id#createfromjsonobj)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.
.idThe PeerId of the peer this info relates to.
protocolsA 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.
.multiaddrsA list of multiaddresses instances that peer can be reached at.
.multiaddrs.add(addr)addr: MultiaddrAdds a new multiaddress that peer can be reached at. addr is an instance of
a multiaddr.
.multiaddrs.addSafe(addr)addr: MultiaddrThe 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: MultiaddrRemoves a multiaddress instance addr from peer.
.multiaddrs.replace(existing, fresh)existing: Multiaddrfresh: MultiaddrRemoves 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.
PRs accepted.
Small note: If editing the Readme, please conform to the standard-readme specification.
Copyright 2013 - present © cnpmjs.org | Home |