diff --git a/peer/addrinfo.go b/peer/addrinfo.go index 5cbfe8c..3e23c5f 100644 --- a/peer/addrinfo.go +++ b/peer/addrinfo.go @@ -3,6 +3,7 @@ package peer import ( "fmt" + "github.com/multiformats/go-multiaddr" ma "github.com/multiformats/go-multiaddr" ) @@ -61,6 +62,16 @@ func SplitAddr(m ma.Multiaddr) (transport ma.Multiaddr, id ID) { return transport, id } +// AddrInfoFromString builds an AddrInfo from the string representation of a Multiaddr +func AddrInfoFromString(s string) (*AddrInfo, error) { + a, err := multiaddr.NewMultiaddr(s) + if err != nil { + return nil, err + } + + return AddrInfoFromP2pAddr(a) +} + // AddrInfoFromP2pAddr converts a Multiaddr to an AddrInfo. func AddrInfoFromP2pAddr(m ma.Multiaddr) (*AddrInfo, error) { transport, id := SplitAddr(m)