mirror of
				https://source.quilibrium.com/quilibrium/ceremonyclient.git
				synced 2025-11-04 00:27:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
package main
 | 
						|
 | 
						|
import (
 | 
						|
	"context"
 | 
						|
	"fmt"
 | 
						|
	"time"
 | 
						|
 | 
						|
	"github.com/libp2p/go-libp2p"
 | 
						|
	"github.com/libp2p/go-libp2p/p2p/transport/tcp"
 | 
						|
	"github.com/libp2p/go-libp2p/p2p/transport/websocket"
 | 
						|
 | 
						|
	"github.com/libp2p/go-libp2p/core/peer"
 | 
						|
	"github.com/multiformats/go-multiaddr"
 | 
						|
)
 | 
						|
 | 
						|
func main() {
 | 
						|
	transports := libp2p.ChainOptions(
 | 
						|
		libp2p.Transport(tcp.NewTCPTransport),
 | 
						|
		libp2p.Transport(websocket.New),
 | 
						|
	)
 | 
						|
 | 
						|
	// TODO: add a libp2p.Security instance and some libp2p.Muxer's
 | 
						|
 | 
						|
	listenAddrs := libp2p.ListenAddrStrings(
 | 
						|
		"/ip4/0.0.0.0/tcp/0",
 | 
						|
		"/ip4/0.0.0.0/tcp/0/ws",
 | 
						|
	)
 | 
						|
 | 
						|
	host, err := libp2p.New(transports, listenAddrs)
 | 
						|
	if err != nil {
 | 
						|
		panic(err)
 | 
						|
	}
 | 
						|
	defer host.Close()
 | 
						|
 | 
						|
	for _, addr := range host.Addrs() {
 | 
						|
		fmt.Println("Listening on", addr)
 | 
						|
	}
 | 
						|
 | 
						|
	targetAddr, err := multiaddr.NewMultiaddr("/ip4/127.0.0.1/tcp/63785/p2p/QmWjz6xb8v9K4KnYEwP5Yk75k5mMBCehzWFLCvvQpYxF3d")
 | 
						|
	if err != nil {
 | 
						|
		panic(err)
 | 
						|
	}
 | 
						|
 | 
						|
	targetInfo, err := peer.AddrInfoFromP2pAddr(targetAddr)
 | 
						|
	if err != nil {
 | 
						|
		panic(err)
 | 
						|
	}
 | 
						|
 | 
						|
	ctx, cancel := context.WithTimeout(context.Background(), time.Second)
 | 
						|
	defer cancel()
 | 
						|
	err = host.Connect(ctx, *targetInfo)
 | 
						|
	if err != nil {
 | 
						|
		panic(err)
 | 
						|
	}
 | 
						|
 | 
						|
	fmt.Println("Connected to", targetInfo.ID)
 | 
						|
}
 |