Skip to content
This repository has been archived by the owner on May 9, 2023. It is now read-only.

multiformats/cs-multiaddress

Repository files navigation

This project is no longer maintained and has been archived.

Multiformats.Address (cs-multiaddress)

Travis CI AppVeyor NuGet Codecov Libraries.io

Multiaddr implementation in C# .NET Standard 1.6 compliant.

Table of Contents

Install

PM> Install-Package Multiformats.Address

dotnet add package Multiformats.Address

Usage

var ma = Multiaddress.Decode("/ip4/127.0.0.1/udp/1234");
var addresses = ma.Split();
var joined = Multiaddress.Join(addresses);
var tcp = ma.Protocols.Get<TCP>();

There's some extension methods included that let's you create multiaddresses of IPEndPoints, and create IPEndPoints from multiaddresses. Some let's you create sockets directly from IP4/IP6, TCP/UDP multiaddresses.

var socket = ma.CreateSocket();
var localEndPoint = socket.GetLocalMultiaddress();
var remoteEndPoint = socket.GetRemoteMultiaddress();

Supported protocols

  • DCCP
  • DNS/4/6
  • HTTP
  • HTTPS
  • IPv4
  • IPv6
  • IPFS (deprecated - use P2P)
  • Onion
  • P2P
  • SCTP
  • TCP
  • UDP
  • UDT
  • Unix
  • WebRTCDirect
  • WebRTCStar
  • WebSocket
  • WebSocket Secure

Maintainers

Captain: @tabrath.

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

MIT © 2017 Trond Bråthen