From 839635e39529bf9bbd1be46096c7aaeece1db9c1 Mon Sep 17 00:00:00 2001 From: islishude Date: Fri, 21 Feb 2025 22:06:22 +0800 Subject: [PATCH 1/4] p2p: add random nodes as discovery source in setupDiscovery --- p2p/server.go | 1 + 1 file changed, 1 insertion(+) diff --git a/p2p/server.go b/p2p/server.go index c1564352e5d..77d2f94becf 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -492,6 +492,7 @@ func (srv *Server) setupDiscovery() error { if err != nil { return err } + srv.discmix.AddSource(srv.discv5.RandomNodes()) } // Add protocol-specific discovery sources. From a0785b07c93245ee4f363ee7905aecdb63f7201e Mon Sep 17 00:00:00 2001 From: islishude Date: Tue, 25 Feb 2025 17:20:42 +0800 Subject: [PATCH 2/4] Revert "p2p: add random nodes as discovery source in setupDiscovery" This reverts commit ec6cdc990d00b48fedb82ceb41234cf8629cf29f. --- p2p/server.go | 1 - 1 file changed, 1 deletion(-) diff --git a/p2p/server.go b/p2p/server.go index 77d2f94becf..c1564352e5d 100644 --- a/p2p/server.go +++ b/p2p/server.go @@ -492,7 +492,6 @@ func (srv *Server) setupDiscovery() error { if err != nil { return err } - srv.discmix.AddSource(srv.discv5.RandomNodes()) } // Add protocol-specific discovery sources. From 23a5bda5f6e522b1ef68797ecb603fb61628f594 Mon Sep 17 00:00:00 2001 From: islishude Date: Tue, 25 Feb 2025 17:22:10 +0800 Subject: [PATCH 3/4] fix: correct pointer usage in node loading function --- eth/protocols/eth/discovery.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eth/protocols/eth/discovery.go b/eth/protocols/eth/discovery.go index 075a85b69cd..86464ff82fa 100644 --- a/eth/protocols/eth/discovery.go +++ b/eth/protocols/eth/discovery.go @@ -71,7 +71,7 @@ func NewNodeFilter(chain *core.BlockChain) func(*enode.Node) bool { filter := forkid.NewFilter(chain) return func(n *enode.Node) bool { var entry enrEntry - if err := n.Load(entry); err != nil { + if err := n.Load(&entry); err != nil { return false } err := filter(entry.ForkID) From 1da5d10e5ee3655c1c6d17f15be8b5bf2ee6f489 Mon Sep 17 00:00:00 2001 From: islishude Date: Tue, 25 Feb 2025 18:24:32 +0800 Subject: [PATCH 4/4] eth: initialize ENR entry in StartENRUpdater function --- eth/protocols/eth/discovery.go | 1 + 1 file changed, 1 insertion(+) diff --git a/eth/protocols/eth/discovery.go b/eth/protocols/eth/discovery.go index 86464ff82fa..f43e6f864dc 100644 --- a/eth/protocols/eth/discovery.go +++ b/eth/protocols/eth/discovery.go @@ -42,6 +42,7 @@ func StartENRUpdater(chain *core.BlockChain, ln *enode.LocalNode) { var newHead = make(chan core.ChainHeadEvent, 10) sub := chain.SubscribeChainHeadEvent(newHead) + ln.Set(currentENREntry(chain)) go func() { defer sub.Unsubscribe() for {