xs-js-multiaddr
v0.1.0
Published
xStorage impletion of ipfs js-multiaddr
Downloads
20
Maintainers
Readme
xS-js-multiaddr
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.