PeerInfo我正在嘗試從一個(gè)實(shí)例中獲取一個(gè)libp2p.Host。我可以multiaddr.Multiaddr通過(guò)調(diào)用 獲取 s的列表Host.Addrs(),但我無(wú)法將它們轉(zhuǎn)換為有效的peerstore.PeerInfo.這是我的嘗試,它因錯(cuò)誤而恐慌panic: invalid p2p multiaddr。package mainimport ( "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) }}我怎樣才能peerstore.PeerInfo從 a 得到 a libp2p.Host?
1 回答

拉丁的傳說(shuō)
TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
PeerInfo是一個(gè)封裝了對(duì)等 ID 及其多地址的結(jié)構(gòu)。要從主機(jī)輕松構(gòu)建 PeerInfo,您只需執(zhí)行以下操作:
pi?:=?PeerInfo{ ????????ID:?host.ID(), ????????Addrs:?host.Addrs(), }
pstore.InfoFromP2pAddr()
p2p
需要帶有 a或組件的multiaddripfs
才能填充PeerInfo.ID
元素。
也就是說(shuō),我們絕對(duì)可以讓PeerInfo
從 a獲取 a 變得更容易Host
。我會(huì)努力的;-)
- 1 回答
- 0 關(guān)注
- 147 瀏覽
添加回答
舉報(bào)
0/150
提交
取消