Multiaddr implementation in C#
$ dotnet add package Nethermind.Multiformats.AddressMultiaddr implementation in C#.
PM> Install-Package Multiformats.Address
dotnet add package Multiformats.Address
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();