erigon-pulse/eth
Felföldi Zsolt 1ca95e8352 les, les/lespay: implement new server pool (#20758)
This PR reimplements the light client server pool. It is also a first step
to move certain logic into a new lespay package. This package will contain
the implementation of the lespay token sale functions, the token buying and
selling logic and other components related to peer selection/prioritization
and service quality evaluation. Over the long term this package will be
reusable for incentivizing future protocols.

Since the LES peer logic is now based on enode.Iterator, it can now use
DNS-based fallback discovery to find servers.

This document describes the function of the new components:
https://gist.github.com/zsfelfoldi/3c7ace895234b7b345ab4f71dab102d4

# Conflicts:
#	cmd/utils/flags.go
#	core/forkid/forkid.go
#	les/client.go
#	les/client_handler.go
#	les/commons.go
#	les/distributor.go
#	les/enr_entry.go
#	les/fetcher.go
#	les/lespay/client/valuetracker.go
#	les/metrics.go
#	les/peer.go
#	les/protocol.go
#	les/retrieve.go
#	les/server.go
#	les/serverpool.go
#	les/test_helper.go
#	les/utils/expiredvalue.go
#	les/utils/weighted_select.go
#	les/utils/weighted_select_test.go
#	params/bootnodes.go
2020-06-15 19:38:12 +03:00
..
downloader Various fixes to make sync work (#663) 2020-06-13 22:39:55 +01:00
fetcher Fix stage 3 shutdown (#629) 2020-06-06 16:09:57 +01:00
filters Prevent slice make and copy in Pushes (#625) 2020-06-05 19:46:34 +03:00
gasprice [GC] uint256 rather than big.Int in Transaction (#614) 2020-06-04 08:43:08 +01:00
mgr Mgr schedule iterator (#566) 2020-05-28 12:33:05 +01:00
stagedsync Various fixes to make sync work (#663) 2020-06-13 22:39:55 +01:00
tracers optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
api_backend.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
api_test.go Prevent slice make and copy in Pushes (#625) 2020-06-05 19:46:34 +03:00
api_tracer.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
api.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
backend.go les, les/lespay: implement new server pool (#20758) 2020-06-15 19:38:12 +03:00
bloombits.go geth 1.9.13 (#469) 2020-04-19 18:31:47 +01:00
config.go Issue 635: Stage4 to optionally generate persisted receipts (#644) 2020-06-09 14:11:09 +01:00
debug.go Call bufio.Flash() in tester (#407) 2020-03-26 21:52:05 +00:00
discovery.go post-merge fixups 2020-02-27 17:22:25 +03:00
firehose.go Parity only supports 3 letter capabilities 2020-01-07 16:34:44 +00:00
gen_config.go Issue 635: Stage4 to optionally generate persisted receipts (#644) 2020-06-09 14:11:09 +01:00
handler_test.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
handler.go Issue 635: Stage4 to optionally generate persisted receipts (#644) 2020-06-09 14:11:09 +01:00
helper_test.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
mgr.go Mgr schedule iterator (#566) 2020-05-28 12:33:05 +01:00
peer.go eth: skip transaction announcer goroutine on eth<65 2020-05-20 15:26:22 +03:00
protocol_test.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00
protocol.go eth: rework tx fetcher to use O(1) ops + manage network requests 2020-02-27 17:21:20 +03:00
sync_test.go geth 1.9.13 (#469) 2020-04-19 18:31:47 +01:00
sync.go optimize codeBitmap (#626) 2020-06-06 21:49:06 +01:00