js-multiaddr
============
[](http://ipn.io)
[](https://github.com/multiformats/multiformats)
[](https://webchat.freenode.net/?channels=%23ipfs)
[](https://david-dm.org/multiformats/js-multiaddr)
[](https://github.com/feross/standard)
[](https://github.com/RichardLitt/standard-readme)
[](https://travis-ci.com/multiformats/js-multiaddr)
[](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.