Categorygithub.com/multiformats/go-multiaddr-fmt
modulepackage
0.1.0
Repository: https://github.com/multiformats/go-multiaddr-fmt.git
Documentation: pkg.go.dev

# 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

# Functions

No description provided by the author
No description provided by the author

# 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