js-multiaddr ============ [![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://ipn.io) [![](https://img.shields.io/badge/project-multiformats-blue.svg?style=flat-square)](https://github.com/multiformats/multiformats) [![](https://img.shields.io/badge/freenode-%23ipfs-blue.svg?style=flat-square)](https://webchat.freenode.net/?channels=%23ipfs) [![Dependency Status](https://david-dm.org/multiformats/js-multiaddr.svg?style=flat-square)](https://david-dm.org/multiformats/js-multiaddr) [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard) [![](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/RichardLitt/standard-readme) [![](https://img.shields.io/travis/multiformats/js-multiaddr.svg?style=flat-square)](https://travis-ci.com/multiformats/js-multiaddr) [![codecov](https://img.shields.io/codecov/c/github/multiformats/js-multiaddr.svg?style=flat-square)](https://codecov.io/gh/multiformats/js-multiaddr) > JavaScript implementation of [multiaddr](https://github.com/multiformats/multiaddr). ## Lead Maintainer [Jacob Heun](https://github.com/jacobheun) ## Table of Contents - [Background](#background) - [What is multiaddr?](#what-is-multiaddr) - [Install](#install) - [Setup](#setup) - [Node.js](#nodejs) - [Browser: Browserify, Webpack, other bundlers](#browser-browserify-webpack-other-bundlers) - [Browser: ` ``` **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](https://github.com/feross/buffer). ## Usage ```js $ node > const multiaddr = require('multiaddr') > const addr = multiaddr("/ip4/127.0.0.1/udp/1234") > addr.buffer > addr.toString() '/ip4/127.0.0.1/udp/1234' > addr.protos() [ {code: 4, name: 'ip4', size: 32}, {code: 273, 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') ``` ## API https://multiformats.github.io/js-multiaddr/ ## Contribute Contributions welcome. Please check out [the issues](https://github.com/multiformats/js-multiaddr/issues). Check out our [contributing document](https://github.com/multiformats/multiformats/blob/master/contributing.md) 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](https://github.com/ipfs/community/blob/master/code-of-conduct.md). Small note: If editing the README, please conform to the [standard-readme](https://github.com/RichardLitt/standard-readme) specification. ## License [MIT](LICENSE) © 2016 Protocol Labs Inc.