mirror of
https://gitlab.com/pulsechaincom/prysm-pulse.git
synced 2024-12-25 21:07:18 +00:00
f5aa25821d
* add relay dial * add relay support advertisement, add peer watching to maintain connections to bootstrap nodes and relay nodes * gofmt * double space
32 lines
665 B
Go
32 lines
665 B
Go
package p2p
|
|
|
|
import (
|
|
"context"
|
|
|
|
host "github.com/libp2p/go-libp2p-host"
|
|
peerstore "github.com/libp2p/go-libp2p-peerstore"
|
|
"github.com/multiformats/go-multiaddr"
|
|
"go.opencensus.io/trace"
|
|
)
|
|
|
|
// MakePeer from multiaddress string.
|
|
func MakePeer(addr string) (*peerstore.PeerInfo, error) {
|
|
maddr, err := multiaddr.NewMultiaddr(addr)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return peerstore.InfoFromP2pAddr(maddr)
|
|
}
|
|
|
|
func dialRelayNode(ctx context.Context, h host.Host, relayAddr string) error {
|
|
ctx, span := trace.StartSpan(ctx, "p2p_dialRelayNode")
|
|
defer span.End()
|
|
|
|
p, err := MakePeer(relayAddr)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
|
|
return h.Connect(ctx, *p)
|
|
}
|