mirror of
https://github.com/Instadapp/Swap-Aggregator-Subgraph.git
synced 2024-07-29 21:57:12 +00:00
151 lines
4.7 KiB
Markdown
151 lines
4.7 KiB
Markdown
# js-peer-info
|
|
|
|
[](http://ipn.io)
|
|
[](http://webchat.freenode.net/?channels=%23ipfs)
|
|
[](https://travis-ci.org/libp2p/js-peer-info)
|
|
[](https://coveralls.io/github/libp2p/js-peer-info?branch=master)
|
|
[](https://david-dm.org/libp2p/js-peer-info)
|
|
[](https://github.com/feross/standard)
|
|
[](https://github.com/RichardLitt/standard-readme)
|
|

|
|

|
|
|
|
## Lead Maintainer
|
|
|
|
[Pedro Teixeira](https://github.com/pgte)
|
|
|
|
## Table of Contents
|
|
|
|
- [Installation](#installation)
|
|
- [npm](#npm)
|
|
- [Node.JS, Browserify, Webpack](#nodejs-browserify-webpack)
|
|
- [Browser: `<script>` Tag](#browser-script-tag)
|
|
- [Usage](#usage)
|
|
- [API](#api)
|
|
- [`PeerInfo.create([id, ] callback)`](#peerinfocreateid-callback)
|
|
- [`new PeerInfo(id)`](#new-peerinfoid)
|
|
- [`.connect(ma)`](#connectma)
|
|
- [`.disconnect()`](#connectma)
|
|
- [`.isConnected()`](#connectma)
|
|
- [`.multiaddrs`](#multiaddrs)
|
|
- [`.multiaddrs.add(addr)`](#multiaddraddaddr)
|
|
- [`.multiaddrs.addSafe(addr)`](#multiaddraddsafeaddr)
|
|
- [`.multiaddrs.forEach(fn)`](#multiaddrforeachfn)
|
|
- [`.multiaddrs.size`](#multiaddrsize)
|
|
- [`.multiaddrs.has()`](#multiaddrhas)
|
|
- [`.multiaddrs.delete(addr)`](#multiaddrdeleteaddr)
|
|
- [`.multiaddrs.toArray()`](#multiaddrtoarray)
|
|
- [`.multiaddrs.replace(existing, fresh)`](#multiaddrreplaceexisting-fresh)
|
|
- [`.multiaddrs.distinct()`](#distinct)
|
|
- [Contribute](#contribute)
|
|
- [License](#license)
|
|
|
|
## Installation
|
|
|
|
### npm
|
|
|
|
```sh
|
|
> npm i peer-info
|
|
```
|
|
|
|
### Node.JS, Browserify, Webpack
|
|
|
|
```js
|
|
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.
|
|
|
|
```html
|
|
<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
|
|
|
|
```js
|
|
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
|
|
|
|
```js
|
|
const PeerInfo = require('peer-info')
|
|
```
|
|
|
|
### `PeerInfo.create([id, ] callback)`
|
|
|
|
- `id` optional - can be a PeerId or a JSON object(will be parsed with https://github.com/libp2p/js-peer-id#createfromjsonobj)
|
|
- `callback: Function` with signature `function (err, peerInfo) {}`
|
|
|
|
Creates a new PeerInfo instance and if no `id` is passed it
|
|
generates a new underlying [PeerID](https://github.com/libp2p/js-peer-id)
|
|
for it.
|
|
|
|
### `new PeerInfo(id)`
|
|
|
|
- `id: PeerId` - instance of PeerId (optional)
|
|
|
|
Creates a new PeerInfo instance from an existing PeerId.
|
|
|
|
### `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](https://github.com/multiformats/js-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`.
|
|
|
|
## Contribute
|
|
|
|
PRs accepted.
|
|
|
|
Small note: If editing the Readme, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification.
|
|
|
|
## License
|
|
|
|
[MIT © David Dias](LICENSE)
|