Nomad Packaging Mechanism
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

multiaddr

5.0.2 • Public • Published

js-multiaddr

Dependency Status js-standard-style Build Status codecov

JavaScript implementation of multiaddr.

Lead Maintainer

Victor Bjelkholm

Table of Contents

Background

What is multiaddr?

A standard way to represent addresses that

  • support any standard network protocol
  • are self-describing
  • have a binary packed format
  • have a nice string representation
  • encapsulate well

Install

npm i multiaddr

Setup

Node.js

const multiaddr = require('multiaddr')

Browser: Browserify, Webpack, other bundlers

The code published to npm that gets loaded on require is in fact a ES5 transpiled version with the right shims added. This means that you can require it and use with your favourite bundler without having to adjust asset management process.

const multiaddr = require('multiaddr')

Browser: <script> Tag

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

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

NOTE: You will need access to the Node.js Buffer API. If you are running in the browser, you can access it with multiaddr.Buffer or you can install feross/buffer.

Usage

$ node
 
> const multiaddr = require('multiaddr')
 
> const addr = multiaddr("/ip4/127.0.0.1/udp/1234")
<Multiaddr /ip4/127.0.0.1/udp/1234>
 
> addr.buffer
<Buffer 04 7f 00 00 01 11 04 d2>
 
> addr.toString()
'/ip4/127.0.0.1/udp/1234'
 
> addr.protos()
[
  {code: 4, name: 'ip4', size: 32},
  {code: 17, name: 'udp', size: 16}
]
 
// gives you an object that is friendly with what Node.js core modules expect for addresses
> addr.nodeAddress()
{
  family: "4",
  port: 1234,
  address: "127.0.0.1"
}
 
> addr.encapsulate('/sctp/5678')
<Multiaddr /ip4/127.0.0.1/udp/1234/sctp/5678>

API

https://multiformats.github.io/js-multiaddr/

Contribute

Contributions welcome. Please check out the issues.

Check out our contributing document for more information on how we work, and about contributing in general. Please be aware that all interactions related to multiformats are subject to the IPFS Code of Conduct.

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

License

MIT © 2016 Protocol Labs Inc.

install

npm i multiaddr

Downloadsweekly downloads

7,504

version

5.0.2

license

MIT

homepage

github.com

repository

Gitgithub

last publish

collaborators

  • avatar
  • avatar
  • avatar
Report a vulnerability