88package main
99
1010// #include <stdlib.h>
11+ // #include <string.h>
1112//
1213// // A structure containing Wormhole VAA observations. This must match on both
1314// // the Go and Rust side.
@@ -27,6 +28,7 @@ import "C"
2728import (
2829 "context"
2930 "fmt"
31+ "strings"
3032
3133 "github.com/libp2p/go-libp2p"
3234 "github.com/libp2p/go-libp2p/core/crypto"
@@ -45,17 +47,16 @@ import (
4547)
4648
4749//export RegisterObservationCallback
48- func RegisterObservationCallback (f C.callback_t ) {
50+ func RegisterObservationCallback (f C.callback_t , network_id , bootstrap_addrs , listen_addrs * C. char ) {
4951 go func () {
5052 ctx := context .Background ()
5153
54+ networkID := C .GoString (network_id )
55+ bootstrapAddrs := strings .Split (C .GoString (bootstrap_addrs ), "," )
56+ listenAddrs := strings .Split (C .GoString (listen_addrs ), "," )
57+
5258 // Setup base network configuration.
53- networkID := "/wormhole/testnet/2/1"
5459 priv , _ , err := crypto .GenerateKeyPair (crypto .Ed25519 , - 1 )
55- bootstrapPeers := []string {
56- //"/dns4/wormhole-mainnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWQp644DK27fd3d4Km3jr7gHiuJJ5ZGmy8hH4py7fP4FP7",
57- "/dns4/wormhole-testnet-v2-bootstrap.certus.one/udp/8999/quic/p2p/12D3KooWAkB9ynDur1Jtoa97LBUp8RXdhzS5uHgAfdTquJbrbN7i" ,
58- }
5960
6061 // Setup libp2p Connection Manager.
6162 mgr , err := connmgr .NewConnManager (
@@ -73,16 +74,13 @@ func RegisterObservationCallback(f C.callback_t) {
7374 // Setup libp2p Reactor.
7475 h , err := libp2p .New (
7576 libp2p .Identity (priv ),
76- libp2p .ListenAddrStrings (
77- "/ip4/0.0.0.0/udp/30910/quic" ,
78- "/ip6/::/udp/30910/quic" ,
79- ),
77+ libp2p .ListenAddrStrings (listenAddrs ... ),
8078 libp2p .Security (libp2ptls .ID , libp2ptls .New ),
8179 libp2p .Transport (libp2pquic .NewTransport ),
8280 libp2p .ConnectionManager (mgr ),
8381 libp2p .Routing (func (h host.Host ) (routing.PeerRouting , error ) {
8482 bootstrappers := make ([]peer.AddrInfo , 0 )
85- for _ , addr := range bootstrapPeers {
83+ for _ , addr := range bootstrapAddrs {
8684 ma , err := multiaddr .NewMultiaddr (addr )
8785 if err != nil {
8886 continue
0 commit comments