Igor Mandrigin
4fb54a7b82
Write proper stats to the CSV file; restore charting capabilities. ( #201 )
2019-11-26 14:29:41 +01:00
ledgerwatch
5f667d3225
Further fix to calculation of state root without modification of the trie ( #192 )
...
* Fix
* Minimize changes
2019-11-25 13:37:34 +00:00
ledgerwatch
b2ca635d86
Debug tool for recursively comparing state (in DB or in a file) with geth archive node ( #191 )
...
* Fetching results of eth_getProof
* Dump 5 levels of the trie in a file for repeated runs
* Drill down to 6 levels of the trie
* Fix lint
* Fix lint
* Fix lint
* verifySnapshot to check accounts with emptyRoot
* Descend into short nodes
* Latest tool fixes
* Fix lint
* Fix state properly working
2019-11-25 13:36:21 +00:00
ledgerwatch
244d70fb9c
Further fixes for the no-mod-root ( #186 )
...
* Further fixes
* Repace 1000 with a symbol
2019-11-21 15:56:39 +00:00
Andrew Ashikhmin
1c0cf9be72
BadgerDB: MultiWalk & some other APIs, command line flag, scaffolding for testing ( #183 )
...
* BadgerDatabase MemCopy
* fix err shadowing
* BadgerDatabase MultiPut & NewBatch
* Remove goOn from MultiWalk & MultiWalkAsOf
* BadgerDatabase MultiWalk. Scaffolding for testing Badger in blockchain_test
* Badger Flag
* fix error logging
* Split IdealBatchSize between BoltDB and BadgerDB
* NewEphemeralBadger
2019-11-21 16:12:38 +01:00
Igor Mandrigin
aa71b298cc
Write tape stats to a csv file. ( #185 )
2019-11-21 15:09:21 +01:00
Igor Mandrigin
f4cda8ba4c
Fix snapshot saving and add an interval setting. ( #181 )
2019-11-21 14:36:24 +01:00
Giulio rebuffo
21c981eb84
HexToQuad fixed in trie/visual.go ( #173 )
2019-11-19 07:48:08 +00:00
ledgerwatch
c187d80152
Preparations for computing root without modifying the trie ( #172 )
...
Preparations for computing root without modifying the trie
2019-11-15 22:48:49 +00:00
Igor Mandrigin
7fd4b0431b
refactor trie package a bit ( #171 )
...
* Refactor `structural*` files.
* some refactor
* dry hashbuilder a bit
* rename constants back to the magic rlp values
2019-11-15 17:50:16 +01:00
Igor Mandrigin
00074e0ed7
Don't store RLPs in valueNodes (except tests).
2019-11-13 20:08:20 +01:00
Igor Mandrigin
02af800e66
Use GenStructStep
from structural_2
in DeriveSha
.
2019-11-07 16:14:33 +01:00
Andrew Ashikhmin
e14b02e1c9
Merge pull request #135 from ledgerwatch/badger
2019-11-04 14:15:26 +01:00
ledgerwatch
f760001638
Merge pull request #112 from ledgerwatch/block_witness
2019-11-04 14:15:26 +01:00
Andrew Ashikhmin
6992db3180
Merge pull request #121 from ledgerwatch/red-queen
2019-11-04 14:15:26 +01:00
ledgerwatch
d1c8416270
Merge pull request #114 from ledgerwatch/fix_sync_crash
...
Fix the sync crash due to the mis-accounting of prunable entries
2019-11-04 14:15:26 +01:00
Alexey Akhunov
fe01bccbb8
Apply Turbo-Geth modifications to go-ethereum codebase
2019-11-01 21:52:03 +01:00
gary rong
df6c08a485
core, trie: decode the value for storage dump ( #19943 )
...
* core, trie: decode the value for storage dump
* core/state: address comment
2019-08-12 17:14:40 +03:00
Christian Muehlhaeuser
5183483c53
core/state, p2p/discover, trie, whisper: avoid unnecessary conversions ( #19870 )
...
No need to convert these types.
2019-07-22 10:30:09 +03:00
Guillaume Ballet
dcc4adfcd7
cmd/geth: wrong memory size sanitizing on OpenBSD ( #19793 )
2019-07-05 13:13:21 +03:00
Péter Szilágyi
536b3b416c
cosensus, core, eth, params, trie: fixes + clique history cap
2019-05-16 10:39:35 +03:00
gary rong
80469bea0c
all: integrate the freezer with fast sync
...
* 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
2019-05-16 10:39:32 +03:00
Péter Szilágyi
9effd64290
core, eth, trie: bloom filter for trie node dedup during fast sync ( #19489 )
...
* core, eth, trie: bloom filter for trie node dedup during fast sync
* eth/downloader, trie: address review comments
* core, ethdb, trie: restart fast-sync bloom construction now and again
* eth/downloader: initialize fast sync bloom on startup
* eth: reenable eth/62 until we properly remove it
2019-05-13 15:28:01 +03:00
gary rong
14868a37fb
trie: clarify why verifyProof doesn't check hashes ( #19530 )
...
* trie: fix merkle proof
* trie: use hasher instead of allocate keccack256 every time
* trie: add comments
2019-05-07 15:06:07 +03:00
Péter Szilágyi
4a4abc41d4
trie: approximate the wasted cache metaspace closer
2019-04-12 11:43:16 +03:00
Péter Szilágyi
4bf0d11e7c
trie: there's no point in retrieving the metaroot
2019-04-05 13:09:28 +03:00
Martin Holst Swende
59e1953246
core, ethdb, trie: mode dirty data to clean cache on flush ( #19307 )
...
This PR is a more advanced form of the dirty-to-clean cacher (#18995 ),
where we reuse previous database write batches as datasets to uncache,
saving a dirty-trie-iteration and a dirty-trie-rlp-reencoding per block.
2019-03-26 15:48:31 +01:00
Martin Holst Swende
876f357364
trie: disable fnv64a hashing of hashes for bigcache ( #19314 )
...
* trie: disable fnv64a hashing of hashes for bigcache
* trie/database: add very important period
2019-03-22 17:13:28 +02:00
Péter Szilágyi
91eec1251c
cmd, core, eth, trie: get rid of trie cache generations ( #19262 )
...
* cmd, core, eth, trie: get rid of trie cache generations
* core, trie: get rid of remainder of cache gen boilerplate
2019-03-14 15:25:12 +02:00
Péter Szilágyi
8111b9dda5
ethdb, trie: tiny API tidy-up from the database rework pr
2019-03-12 12:32:02 +02:00
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
2019-03-06 13:35:03 +02:00
Matthew Halpern
514a9472ad
trie: prefer nil slices over zero-length slices ( #19084 )
2019-02-19 14:50:11 +01:00
Martin Holst Swende
4f85c2b88b
trie: fix error in node decoding ( #19111 )
2019-02-16 16:16:12 +01:00
HackyMiner
bb7c786b09
trie: add missing unlock call in error case ( #18985 )
2019-02-04 12:42:46 +01:00
Dave McGregor
33d233d3e1
vendor, crypto, swarm: switch over to upstream sha3 package
2019-01-04 09:26:07 +02:00
Martin Holst Swende
2843001ac2
trie: fix overflow in write cache parent tracking ( #18165 )
...
trie/database: fix overflow in parent tracking
2018-11-22 15:14:31 +02:00
Péter Szilágyi
d136e985e8
trie: go fmt package
2018-11-16 16:35:39 +02:00
Łukasz Kurowski
68be45e5f8
trie: return hasher to pool ( #18116 )
...
* trie: return hasher to pool
* trie: minor code formatting fix
2018-11-16 11:50:48 +02:00
Péter Szilágyi
434dd5bc00
cmd, core, eth, light, trie: add trie read caching layer
2018-11-15 12:22:13 +02:00
Péter Szilágyi
53634f1e04
trie: remove unused originalRoot field ( #17862 )
2018-10-08 13:16:16 +02:00
Wenbiao Zheng
6a33954731
core, eth, trie: use common/prque ( #17508 )
2018-09-03 17:33:21 +02:00
Mymskmkt
70398d300d
trie: fix typo ( #17498 )
2018-08-24 21:08:48 +03:00
Péter Szilágyi
11bbc66082
eth, trie: fix tracer GC which accidentally pruned the metaroot
2018-08-09 12:33:30 +03:00
Mymskmkt
8051a0768a
trie: fix comment typo ( #17350 )
2018-08-08 16:08:40 +03:00
Oleg Kovalov
cf05ef9106
p2p, swarm, trie: avoid copying slices in loops ( #17265 )
2018-08-07 13:56:40 +03:00
Péter Szilágyi
8a9c31a307
trie: handle removing the freshest node too
2018-07-30 16:31:17 +03:00
Péter Szilágyi
319098cc1c
trie: fix a temporary memory leak in the memcache
2018-07-02 15:47:33 +03:00
Péter Szilágyi
d926bf2c7e
trie: cache collapsed tries node, not rlp blobs ( #16876 )
...
The current trie memory database/cache that we do pruning on stores
trie nodes as binary rlp encoded blobs, and also stores the node
relationships/references for GC purposes. However, most of the trie
nodes (everything apart from a value node) is in essence just a
collection of references.
This PR switches out the RLP encoded trie blobs with the
collapsed-but-not-serialized trie nodes. This permits most of the
references to be recovered from within the node data structure,
avoiding the need to track them a second time (expensive memory wise).
2018-06-21 11:28:05 +02:00
Péter Szilágyi
a3267ed929
trie: don't report the root flushlist as an alloc
2018-06-11 14:32:13 +03:00
Sarlor
ea06da0892
trie: avoid unnecessary slicing on shortnode decoding ( #16917 )
...
optimization code
2018-06-07 11:48:36 +03:00