feat: add dns-discovery flags to wakunode and chat2 example

This commit is contained in:
Richard Ramos 2021-09-27 18:32:40 -04:00
parent 70efcd72f3
commit ebcbff62eb
No known key found for this signature in database
GPG Key ID: 80D4B01265FDFE8F
2 changed files with 22 additions and 0 deletions

View File

@ -176,6 +176,25 @@ func main() {
}
}
enableDiscovery := *dnsDiscoveryFlag
dnsDiscoveryUrl := *dnsDiscoveryUrlFlag
dnsDiscoveryNameServer := *dnsDiscoveryNameServerFlag
if enableDiscovery && dnsDiscoveryUrl != "" {
ui.displayMessage(fmt.Sprintf("attempting DNS discovery with %s", dnsDiscoveryUrl))
multiaddresses, err := discovery.RetrieveNodes(ctx, dnsDiscoveryUrl, discovery.WithNameserver(dnsDiscoveryNameServer))
if err != nil {
ui.displayMessage("DNS discovery error: " + err.Error())
} else {
for _, m := range multiaddresses {
err = wakuNode.DialPeerWithMultiAddress(m)
if err != nil {
ui.displayMessage("error dialing peer: " + err.Error())
}
}
}
}
if len(storenode) == 0 {
ui.displayMessage(fmt.Sprintf("No store node configured. Choosing one at random from %s fleet...", *fleetFlag))
storenode = getRandomFleetNode(fleetData, *fleetFlag)

View File

@ -100,6 +100,9 @@ var rootCmd = &cobra.Command{
prvKey, err := crypto.HexToECDSA(key)
checkError(err, "error converting key into valid ecdsa key")
// TODO: this ENR record might be necessary later for DNS discovery
// enr := enode.NewV4(&prvKey.PublicKey, hostAddr.IP, hostAddr.Port, 0)
if dbPath == "" && useDB {
checkError(errors.New("dbpath can't be null"), "")
}