The network address multiformat
Latest commit e1cb3d7 Dec 27, 2016 @Kubuxu Kubuxu committed on GitHub Merge pull request #32 from multiformats/feat/readme
Edited README
Permalink
Failed to load latest commit information.
LICENSE Standardized Readme Oct 11, 2016
README.md Edited README Dec 27, 2016
protocols.csv Remove table, add protcols to csv Oct 11, 2016

README.md

multiaddr

The network addresses multiformat

Table of Contents

What is multiaddr?

Multiaddr is a standard way to represent addresses that:

  • Support any standard network protocols.
  • Self-describe (include protocols).
  • Have a binary packed format.
  • Have a nice string representation.
  • Encapsulate well.

Specification

Normally, addresses have been represented using string addresses, like:

tcp4://127.0.0.1:1234
udp4://10.20.30.40:5060
ws://1.2.3.4:5678
tcp6://[1fff:0:a88:85a3::ac1f]:8001

This isn't optimal. Instead, addresses should be formatted so:

Binary format:

(varint proto><n byte addr>)+
<1 byte ipv4 code><4 byte ipv4 addr><1 byte udp code><2 byte udp port>
<1 byte ipv6 code><16 byte ipv6 addr><1 byte tcp code><2 byte tcp port>

String format:

(/<addr str code>/<addr str rep>)+
/ip4/<ipv4 str addr>/udp/<udp int port>
/ip6/<ipv6 str addr>/tcp/<tcp int port>

Protocols

See protocols.csv.

Originally from here: https://github.com/jbenet/random-ideas/issues/11

Implementations

Maintainers

Captain: @jbenet.

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

This repository is only for documents. All of these are licensed under the CC-BY-SA 3.0 license, © 2016 Protocol Labs Inc. Any code is under a MIT © 2016 Protocol Labs Inc.