mirror of
https://github.com/logos-messaging/test-discv5.git
synced 2026-01-07 08:33:07 +00:00
print IP, port and rs/rsv
This commit is contained in:
parent
959b20e3bf
commit
d16f4e47e0
47
main.go
47
main.go
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"encoding/hex"
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
@ -13,6 +14,7 @@ import (
|
|||||||
|
|
||||||
"github.com/ethereum/go-ethereum/crypto"
|
"github.com/ethereum/go-ethereum/crypto"
|
||||||
"github.com/ethereum/go-ethereum/p2p/enode"
|
"github.com/ethereum/go-ethereum/p2p/enode"
|
||||||
|
"github.com/ethereum/go-ethereum/p2p/enr"
|
||||||
"github.com/ethereum/go-ethereum/p2p/nat"
|
"github.com/ethereum/go-ethereum/p2p/nat"
|
||||||
"github.com/waku-org/go-discover/discover"
|
"github.com/waku-org/go-discover/discover"
|
||||||
)
|
)
|
||||||
@ -89,7 +91,7 @@ func main() {
|
|||||||
|
|
||||||
go func() {
|
go func() {
|
||||||
iterator := listener.RandomNodes()
|
iterator := listener.RandomNodes()
|
||||||
seen := make(map[enode.ID]struct{})
|
seen := make(map[enode.ID]*enode.Node)
|
||||||
peerCnt := 0
|
peerCnt := 0
|
||||||
for iterator.Next() {
|
for iterator.Next() {
|
||||||
|
|
||||||
@ -127,12 +129,36 @@ func main() {
|
|||||||
|
|
||||||
node := iterator.Node()
|
node := iterator.Node()
|
||||||
_ = node
|
_ = node
|
||||||
_, ok := seen[node.ID()]
|
n, ok := seen[node.ID()]
|
||||||
|
|
||||||
|
recType := "NEW"
|
||||||
|
|
||||||
if ok {
|
if ok {
|
||||||
continue
|
if node.Seq() > n.Seq() {
|
||||||
|
seen[node.ID()] = node
|
||||||
|
recType = "UPDATE"
|
||||||
|
} else {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
seen[node.ID()] = node
|
||||||
}
|
}
|
||||||
seen[node.ID()] = struct{}{}
|
|
||||||
fmt.Println(len(seen), node.String())
|
fmt.Println(len(seen), recType, node.String())
|
||||||
|
node.TCP()
|
||||||
|
fmt.Println("ip", node.IP(), ":", node.TCP())
|
||||||
|
|
||||||
|
rs, err := ReadValue(node.Record(), "rs")
|
||||||
|
if err == nil && len(rs) > 0 {
|
||||||
|
fmt.Println("rs", "0x"+hex.EncodeToString(rs))
|
||||||
|
}
|
||||||
|
|
||||||
|
rsv, err := ReadValue(node.Record(), "rsv")
|
||||||
|
if err == nil && len(rsv) > 0 {
|
||||||
|
fmt.Println("rsv", "0x"+hex.EncodeToString(rsv))
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
select {
|
select {
|
||||||
case <-ctx.Done():
|
case <-ctx.Done():
|
||||||
@ -159,6 +185,17 @@ func main() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ReadValue(record *enr.Record, name string) ([]byte, error) {
|
||||||
|
var field []byte
|
||||||
|
if err := record.Load(enr.WithEntry(name, &field)); err != nil {
|
||||||
|
if enr.IsNotFound(err) {
|
||||||
|
return nil, nil
|
||||||
|
}
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return field, nil
|
||||||
|
}
|
||||||
|
|
||||||
// GetLocalIP returns the non loopback local IP of the host
|
// GetLocalIP returns the non loopback local IP of the host
|
||||||
func GetLocalIP() net.IP {
|
func GetLocalIP() net.IP {
|
||||||
addrs, err := net.InterfaceAddrs()
|
addrs, err := net.InterfaceAddrs()
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user