- Dec 15, 2020
-
-
Zsolt Felföldi authored
* les: allow tx unindexing in les/4 light server mode * les: minor fixes * les: more small fixes * les: add meaningful constants for recentTxIndex handshake field
-
- Dec 10, 2020
-
-
Gary Rong authored
* les, light: remove untrusted header retrieval in ODR * les: polish * light: check the hash equality in odr
-
- Nov 25, 2020
-
-
Alex Prut authored
Changes: Simplify nested complexity If an if blocks ends with a return statement then remove the else nesting. Most of the changes has also been reported in golint https://goreportcard.com/report/github.com/ethereum/go-ethereum#golint
-
- Aug 21, 2020
-
-
Gary Rong authored
-
- Jul 13, 2020
-
-
Gary Rong authored
This change introduces garbage collection for the light client. Historical chain data is deleted periodically. If you want to disable the GC, use the --light.nopruning flag.
-
- Apr 24, 2020
-
-
Gary Rong authored
* trie: initial implementation for range proof * trie: add benchmark * trie: fix lint * trie: fix minor issue * trie: unset the edge valuenode as well * trie: unset the edge valuenode as nilValuenode
-
- Feb 26, 2020
-
-
Gary Rong authored
* les: separate peer into clientPeer and serverPeer * les: address comments
-
- Jun 28, 2019
-
-
Gary Rong authored
* all: implement simple checkpoint syncing cmd, les, node: remove callback mechanism cmd, node: remove callback definition les: simplify the registrar les: expose checkpoint rpc services in the light client les, light: don't store untrusted receipt cmd, contracts, les: discard stale checkpoint cmd, contracts/registrar: loose restriction of registeration cmd, contracts: add replay-protection all: off-chain multi-signature contract params: deploy checkpoint contract for rinkeby cmd/registrar: add raw signing mode for registrar cmd/registrar, contracts/registrar, les: fixed messages * cmd/registrar, contracts/registrar: fix lints * accounts/abi/bind, les: address comments * cmd, contracts, les, light, params: minor checkpoint sync cleanups * cmd, eth, les, light: move checkpoint config to config file * cmd, eth, les, params: address comments * eth, les, params: address comments * cmd: polish up the checkpoint admin CLI * cmd, contracts, params: deploy new version contract * cmd/checkpoint-admin: add another flag for clef mode signing * cmd, contracts, les: rename and regen checkpoint oracle with abigen
-
- May 16, 2019
-
-
Gary Rong authored
* all: freezer style syncing core, eth, les, light: clean up freezer relative APIs core, eth, les, trie, ethdb, light: clean a bit core, eth, les, light: add unit tests core, light: rewrite setHead function core, eth: fix downloader unit tests core: add receipt chain insertion test core: use constant instead of hardcoding table name core: fix rollback core: fix setHead core/rawdb: remove canonical block first and then iterate side chain core/rawdb, ethdb: add hasAncient interface eth/downloader: calculate ancient limit via cht first core, eth, ethdb: lots of fixes * eth/downloader: print ancient disable log only for fast sync
-
- May 13, 2019
-
-
Zsolt Felföldi authored
* les, light: implement ODR transaction lookup by hash * les: delete useless file * internal/ethapi: always use backend to find transaction * les, eth, internal/ethapi: renamed GetCanonicalTransaction to GetTransaction * light: add canonical header verification to GetTransaction
-
- Apr 08, 2019
-
-
Zsolt Felföldi authored
-
- Mar 06, 2019
-
-
Péter Szilágyi authored
-
- Feb 26, 2019
-
-
Zsolt Felföldi authored
This change - implements concurrent LES request serving even for a single peer. - replaces the request cost estimation method with a cost table based on benchmarks which gives much more consistent results. Until now the allowed number of light peers was just a guess which probably contributed a lot to the fluctuating quality of available service. Everything related to request cost is implemented in a single object, the 'cost tracker'. It uses a fixed cost table with a global 'correction factor'. Benchmark code is included and can be run at any time to adapt costs to low-level implementation changes. - reimplements flowcontrol.ClientManager in a cleaner and more efficient way, with added capabilities: There is now control over bandwidth, which allows using the flow control parameters for client prioritization. Target utilization over 100 percent is now supported to model concurrent request processing. Total serving bandwidth is reduced during block processing to prevent database contention. - implements an RPC API for the LES servers allowing server operators to assign priority bandwidth to certain clients and change prioritized status even while the client is connected. The new API is meant for cases where server operators charge for LES using an off-protocol mechanism. - adds a unit test for the new client manager. - adds an end-to-end test using the network simulator that tests bandwidth control functions through the new API.
-
- Oct 01, 2018
-
-
Zsolt Felföldi authored
-
- Sep 20, 2018
-
-
Péter Szilágyi authored
-
- Aug 28, 2018
-
-
Gary Rong authored
-
- May 21, 2018
-
-
kiel barry authored
-
- May 07, 2018
-
-
Péter Szilágyi authored
-
- Feb 11, 2018
-
-
Péter Szilágyi authored
* les, light: fix CHT trie retrievals * les, light: minor polishes, test remote CHT retrievals * les, light: deterministic nodeset rlp, bloombits test skeleton * les: add an event emission to the les bloombits test * les: drop dead tester code
-
- Oct 24, 2017
-
-
Zsolt Felföldi authored
This PR implements the new LES protocol version extensions: * new and more efficient Merkle proofs reply format (when replying to a multiple Merkle proofs request, we just send a single set of trie nodes containing all necessary nodes) * BBT (BloomBitsTrie) works similarly to the existing CHT and contains the bloombits search data to speed up log searches * GetTxStatusMsg returns the inclusion position or the pending/queued/unknown state of a transaction referenced by hash * an optional signature of new block data (number/hash/td) can be included in AnnounceMsg to provide an option for "very light clients" (mobile/embedded devices) to skip expensive Ethash check and accept multiple signatures of somewhat trusted servers (still a lot better than trusting a single server completely and retrieving everything through RPC). The new client mode is not implemented in this PR, just the protocol extension.
-
- Mar 22, 2017
-
-
Zsolt Felföldi authored
* les: implement request distributor, fix blocking issues * core: moved header validation before chain mutex lock
-
- Mar 03, 2017
-
-
Péter Szilágyi authored
-
- Feb 23, 2017
-
-
Péter Szilágyi authored
-
- Jan 09, 2017
-
-
Felix Lange authored
go get github.com/gordonklaus/ineffassign ineffassign .
-
- Dec 10, 2016
-
-
Zsolt Felföldi authored
-
- Nov 09, 2016
-
-
Felix Lange authored
-
Zsolt Felföldi authored
-