# README
multiaddr format
A validation checker for multiaddrs. Some basic validators for common address types are provided, but creating your own combinations is easy.
Usage:
a, _ := ma.NewMultiaddr("/ip4/5.2.67.3/tcp/1708")
TCP.Matches(a) // returns true
Making your own validators is easy, for example, the Reliable
multiaddr is
defined as follows:
// Define IP as either ipv4 or ipv6
var IP = Or(Base(ma.P_IP4), Base(ma.P_IP6))
// Define TCP as 'tcp' on top of either ipv4 or ipv6
var TCP = And(IP, Base(ma.P_TCP))
// Define UDP as 'udp' on top of either ipv4 or ipv6
var UDP = And(IP, Base(ma.P_UDP))
// Define UTP as 'utp' on top of udp (on top of ipv4 or ipv6)
var UTP = And(UDP, Base(ma.P_UTP))
// Now define a Reliable transport as either tcp or utp
var Reliable = Or(TCP, UTP)
// From here, we can easily define multiaddrs for protocols that can run on top
// of any 'reliable' transport (such as ipfs)
NOTE: the above patterns are already implemented in package
# Variables
Define a dnsaddr, dns, dns4 or dns6 format multiaddr.
Define a dns4 format multiaddr.
Define a dns6 format multiaddr.
Define http over TCP or DNS or http over DNS format multiaddr.
Define https over TCP or DNS or https over DNS format multiaddr.
Define IP as either ipv4 or ipv6.
IPFS can run over any reliable underlying transport protocol
Deprecated: use P2P.
P2P can run over any reliable underlying transport protocol.
Define QUIC as 'quic' on top of udp (on top of ipv4 or ipv6).
Now define a Reliable transport as either tcp or utp or quic.
Define TCP as 'tcp' on top of either ipv4 or ipv6, or dns equivalents.
Define UDP as 'udp' on top of either ipv4 or ipv6, or dns equivalents.
Define unreliable transport as udp.
Define UTP as 'utp' on top of udp (on top of ipv4 or ipv6).
Define p2p-webrtc-direct over HTTP or p2p-webrtc-direct over HTTPS format multiaddr.
# Interfaces
No description provided by the author
# Type aliases
No description provided by the author