go-ethereum/eth
Felix Lange b8040a430e
cmd/utils: use eth DNS tree for snap discovery (#22808)
This removes auto-configuration of the snap.*.ethdisco.net DNS discovery tree.
Since measurements have shown that > 75% of nodes in all.*.ethdisco.net support
snap, we have decided to retire the dedicated index for snap and just use the eth
tree instead.

The dial iterators of eth and snap now use the same DNS tree in the default configuration,
so both iterators should use the same DNS discovery client instance. This ensures that
the record cache and rate limit are shared. Records will not be requested multiple times.

While testing the change, I noticed that duplicate DNS requests do happen even
when the client instance is shared. This is because the two iterators request the tree
root, link tree root, and first levels of the tree in lockstep. To avoid this problem, the
change also adds a singleflight.Group instance in the client. When one iterator
attempts to resolve an entry which is already being resolved, the singleflight object
waits for the existing resolve call to finish and returns the entry to both places.
2021-05-04 11:29:32 +02:00
..
catalyst catalyst: check if block exists in assemble-block call with unknown parent-hash (#22770) 2021-04-29 16:42:21 +02:00
downloader core, eth: abort snapshot generation on snap sync and resume later 2021-04-30 17:03:10 +03:00
ethconfig cmd/geth, consensus/ethash: add support for --miner.notify.full flag (#22558) 2021-03-26 18:30:10 +01:00
fetcher eth/fetcher: avoid spurious timer events at startup (#22652) 2021-04-14 12:44:32 +02:00
filters eth/filters: fix comment on PublicFilterAPI timeoutLoop (#22782) 2021-04-30 13:00:48 +02:00
gasprice eth/gasprice: improve stability of estimated price (#22722) 2021-04-28 09:06:34 +02:00
protocols cmd/utils: use eth DNS tree for snap discovery (#22808) 2021-05-04 11:29:32 +02:00
tracers eth/tracers, internal/ethapi: fix typos causing lint issue (#22711) 2021-04-21 10:18:27 +02:00
api_backend.go core, eth, internal/ethapi: create access list RPC API (#22550) 2021-04-07 17:54:31 +03:00
api_test.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
api.go eth: restore eth_hashrate API endpoint 2021-04-29 12:02:30 +03:00
backend.go cmd/utils: use eth DNS tree for snap discovery (#22808) 2021-05-04 11:29:32 +02:00
bloombits.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01:00
discovery.go cmd/utils: use eth DNS tree for snap discovery (#22808) 2021-05-04 11:29:32 +02:00
handler_eth_test.go eth, les: drop support for eth/64, fix eth/66 tests 2021-04-09 10:39:45 +03:00
handler_eth.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_snap.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
handler_test.go core, eth: split eth package, implement snap protocol (#21482) 2020-12-14 10:27:15 +01:00
handler.go eth, les: drop support for eth/64, fix eth/66 tests 2021-04-09 10:39:45 +03:00
peer.go eth: check snap satelliteness, delegate drop to eth (#22235) 2021-02-02 10:44:36 +02:00
peerset.go eth: don't wait for snap registration if we're not running snap (#22272) 2021-02-05 14:15:22 +01:00
state_accessor.go eth: fix tracing state retrieval if requesting the non-dirty genesis 2021-04-07 18:35:25 +03:00
sync_test.go eth, les: drop support for eth/64, fix eth/66 tests 2021-04-09 10:39:45 +03:00
sync.go eth: fix corner case in sync head determination (#21695) 2021-03-26 18:06:25 +01:00