0.1.0 • Published 6 years ago

xs-js-multiaddr v0.1.0

Weekly downloads
6
License
MIT
Repository
github
Last release
6 years ago

xS-js-multiaddr

npm.io npm.io npm.io

Build Status codecov Nodejs npm

xStorage implemetation of ipfs js-multiaddr xS-js-multiaddr specification

维护者: Paul Zhang, Chunhv Liu

目录

1. 背景

1.1 什么是 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

2. 安装

npm install --save xs-js-multiaddr

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>

2.2 API

See the doc. (To be continue)

3. Contribute

Contributions welcome. Please check out the issues.

4. 致谢

@multiformats multiaddr

5. 资助我们

Cryptocurrency is welcomed.

ETH: 0xCd0e5cE4a29Fd6441b95FA857753f68D09339628

6. License

MIT © 2016 Protocol Labs Inc.