Multiaddress implementation in C#
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src/Multiformats.Address
test/Multiformats.Address.Tests
.editorconfig
.gitattributes
.gitignore
.travis.yml
LICENSE
Multiformats.Address.sln
NuGet.config
README.md
appveyor.yml
build.sh

README.md

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