我正在尝试PeerInfo
从一个libp2p.Host
实例中获取一个。我可以multiaddr.Multiaddr
通过调用获取 s列表Host.Addrs()
,但我无法将它们转换为有效的peerstore.PeerInfo
.
这是我的尝试,它因错误而恐慌panic: invalid p2p multiaddr
。
package main
import (
"log"
"github.com/SentimensRG/ctx"
"github.com/SentimensRG/ctx/sigctx"
libp2p "github.com/libp2p/go-libp2p"
ps "github.com/libp2p/go-libp2p-peerstore"
)
var c = ctx.AsContext(sigctx.New())
func main() {
h0, err := libp2p.New(c)
if err != nil {
panic(err)
}
addr0 := h0.Addrs()[1]
_, err := ps.InfoFromP2pAddr(addr0)
if err != nil {
panic(err)
}
}