mirror of
https://github.com/status-im/status-go.git
synced 2025-02-08 12:54:37 +00:00
- some minor progress to add nwaku in status-go - nwaku.go: GetNumConnectedPeers controls when passed pubsub is empty - waku_test.go: adapt TestWakuV2Store - add missing shard.go - feat_: build nwaku with nix and use build tags to choose between go-waku and nwaku (#5896) - chore_: update nwaku - nwaku bump (#5911) - bump: nwaku - chore: add USE_NWAKU env flag - fix: build libwaku only if needed - feat: testing discovery and dialing with nwaku integration (#5940) - message publisher and sent verifier (#5966) - storenode requestor for missing message retrieval and result iterator impl (#5971) - uncomment code that would allow status-go/go-waku to compile and libwaku test to run (#5986) - supporting peer exchange with nwaku (#5983) - store queries - ping - ping storenodes using AddrInfo (#6004) - dial, drop and retrieve connected peers (#6013) - integrate on-demand DNS discovery and implement discoverAndConnectPeers (#6017) - extract libwaku calls into WakuNode struct (#6027) - async nwaku - remove nwaku process loop - receive messages via relay (#6185) - extract timeout from context - use correct port field, get free ports and uncomment some functions (#6200) - enable filter/lightpush/px and setup rate limits - add protected topics
59 lines
1.1 KiB
Go
59 lines
1.1 KiB
Go
package wakuv2
|
|
|
|
import (
|
|
"encoding/json"
|
|
"fmt"
|
|
"io"
|
|
"net/http"
|
|
"os"
|
|
"strconv"
|
|
)
|
|
|
|
type NwakuInfo struct {
|
|
ListenAddresses []string `json:"listenAddresses"`
|
|
EnrUri string `json:"enrUri"`
|
|
}
|
|
|
|
func GetNwakuInfo(host *string, port *int) (NwakuInfo, error) {
|
|
nwakuRestPort := 8645
|
|
if port != nil {
|
|
nwakuRestPort = *port
|
|
}
|
|
envNwakuRestPort := os.Getenv("NWAKU_REST_PORT")
|
|
if envNwakuRestPort != "" {
|
|
v, err := strconv.Atoi(envNwakuRestPort)
|
|
if err != nil {
|
|
return NwakuInfo{}, err
|
|
}
|
|
nwakuRestPort = v
|
|
}
|
|
|
|
nwakuRestHost := "localhost"
|
|
if host != nil {
|
|
nwakuRestHost = *host
|
|
}
|
|
envNwakuRestHost := os.Getenv("NWAKU_REST_HOST")
|
|
if envNwakuRestHost != "" {
|
|
nwakuRestHost = envNwakuRestHost
|
|
}
|
|
|
|
resp, err := http.Get(fmt.Sprintf("http://%s:%d/debug/v1/info", nwakuRestHost, nwakuRestPort))
|
|
if err != nil {
|
|
return NwakuInfo{}, err
|
|
}
|
|
defer resp.Body.Close()
|
|
|
|
body, err := io.ReadAll(resp.Body)
|
|
if err != nil {
|
|
return NwakuInfo{}, err
|
|
}
|
|
|
|
var data NwakuInfo
|
|
err = json.Unmarshal(body, &data)
|
|
if err != nil {
|
|
return NwakuInfo{}, err
|
|
}
|
|
|
|
return data, nil
|
|
}
|