rjl493456442
bff84a99fe
cmd, core, eth, les, light: track deleted nodes ( #25757 )
...
* cmd, core, eth, les, light: track deleted nodes
* trie: add docs
* trie: address comments
* cmd, core, eth, les, light, trie: trie id
* trie: add tests
* trie, core: updates
* trie: fix imports
* trie: add utility print-method for nodeset
* trie: import err
* trie: fix go vet warnings
Co-authored-by: Martin Holst Swende <martin@swende.se>
2 years ago
Justin Traglia
2c5648d891
all: fix some typos ( #25551 )
...
* Fix some typos
* Fix some mistakes
* Revert 4byte.json
* Fix an incorrect fix
* Change files to fails
2 years ago
rjl493456442
8b53b92eb4
core, trie: rework trie committer ( #25320 )
...
* all: rework trie and trie committer
* all: get rid of internal cache in trie
* all: fixes
* trie: polish
* core, trie: address comments
* trie: fix imports
* core/state: address comments
* core/state/snapshot: polish
* trie: remove unused code
* trie: update tests
* trie: don't set db as nil
* trie: address comments
* trie: unskip test
2 years ago
rjl493456442
22defa5af7
all: introduce trie owner notion ( #24750 )
...
* cmd, core/state, light, trie, eth: add trie owner notion
* all: refactor
* tests: fix goimports
* core/state/snapshot: fix ineffasigns
Co-authored-by: Martin Holst Swende <martin@swende.se>
3 years ago
gary rong
a5a5237178
core, light, tests, trie: add state metrics ( #23433 )
3 years ago
gary rong
23524f8900
all: disable recording preimage of trie keys ( #21402 )
...
* cmd, core, eth, light, trie: disable recording preimage by default
* core, eth: fix unit tests
* core: fix import
* all: change to nopreimage
* cmd, core, eth, trie: use cache.preimages flag
* cmd: enable preimages for archive node
* cmd/utils, trie: simplify preimage tracking a bit
* core: fix linter
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
4 years ago
gary rong
93da0cf8a1
cmd, core, eth, light, trie: dump clean cache periodically ( #20391 )
...
* cmd, core, eth, light, trie: dump clean cache periodically
* eth: update config
* trie: minor fix
* core, trie: address comments
* eth: remove useless
* trie: print clean cache dump start too
Co-authored-by: Péter Szilágyi <peterke@gmail.com>
4 years ago
Felix Lange
af258efdb9
light: goimports -w ( #21325 )
4 years ago
gary rong
6eef141aef
les: historical data garbage collection ( #19570 )
...
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.
4 years ago
gary rong
b9bac1f384
les: fix and slim the unit tests of les ( #20247 )
...
* les: loose restriction of unit tests
* les: update unit tests
* les, light: slim the unit tests
5 years ago
gary rong
2ed729d38e
les: handler separation ( #19639 )
...
les: handler separation
5 years ago
Péter Szilágyi
38f6b85638
eth, les, light: enforce CHT checkpoints on fast-sync too
6 years ago
Zsolt Felfoldi
64f9c1ea09
les, light: remove support for les/1 4096 block CHT sections
6 years ago
Péter Szilágyi
ccffad5553
light, params: update CHTs, integrate CHT for Goerli too
6 years ago
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
6 years ago
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer
6 years ago
gary rong
c5d34fc94e
les, light: reduce les testing stress ( #17867 )
6 years ago
Péter Szilágyi
af89093116
les, light, params: update light client CHTs
6 years ago
gary rong
b69476b372
all: make indexer configurable ( #17188 )
6 years ago
Péter Szilágyi
9f036647e4
consensus/clique, light: light client snapshots on Rinkeby
6 years ago
Felföldi Zsolt
1de9ada401
light: new CHTs ( #17448 )
6 years ago
Felföldi Zsolt
2cdf6ee7e0
light: CHT and bloom trie indexers working in light mode ( #16534 )
...
This PR enables the indexers to work in light client mode by
downloading a part of these tries (the Merkle proofs of the last
values of the last known section) in order to be able to add new
values and recalculate subsequent hashes. It also adds CHT data to
NodeInfo.
6 years ago
Felföldi Zsolt
f524ec4326
light: new CHTs ( #17124 )
6 years ago
Felföldi Zsolt
2977538ac0
light: new CHTs for mainnet and ropsten ( #16926 )
7 years ago
Felföldi Zsolt
595b47e535
light: new CHT for mainnet and ropsten ( #16736 )
7 years ago
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
7 years ago
Felföldi Zsolt
92c6d13083
light: new CHTs ( #16515 )
7 years ago
Felföldi Zsolt
45bd4fedde
light: new CHT for ropsten ( #16393 )
7 years ago
Felix Lange
89cc604a50
light: new mainnet CHT ( #16390 )
7 years ago
Felföldi Zsolt
5ad7b9123c
light: new CHTs ( #16233 )
7 years ago
Felix Lange
a5c0bbb4f4
all: update license information ( #16089 )
7 years ago
Felföldi Zsolt
8d32c4b990
light: new CHTs ( #16074 )
7 years ago
Péter Szilágyi
7a0019c63b
les, light: fix CHT trie retrievals ( #16039 )
...
* 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
7 years ago
Péter Szilágyi
eb07dbb079
eth, light: minor light client startup cleanups
7 years ago
Péter Szilágyi
55599ee95d
core, trie: intermediate mempool between trie and database ( #15857 )
...
This commit reduces database I/O by not writing every state trie to disk.
7 years ago
Felföldi Zsolt
ec96216d16
Chain indexer fix + new CHT ( #15934 )
...
* core, light: fix chain indexer bug
* light: add new CHT
7 years ago
Felföldi Zsolt
ca376ead88
les, light: LES/2 protocol version ( #14970 )
...
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.
7 years ago