Andrew Ashikhmin
84285a5ab1
Roughly finish with adding BadgerDB (first cut) ( #203 )
...
* Bumping GOMAXPROCS for Badger
* fixes related to database size
* Schedule GC for Badger
* pacify linter
* Don't start GC for ephemeral Badger
* Don't log "Value log GC attempt didn't result in any cleanup"
* Start GC in backround
* Bump GC period and IdealBatchSize for Badger
* BadgerDatabase RewindData
* Boolean badger flag -> string database flag
* cosmetic change
2019-11-27 13:15:25 +00:00
Igor Mandrigin
ae633ff296
Remove Copy
from IntraBlockState
and use references instead of copies in other places.
2019-11-07 13:32:20 +01:00
Alexey Akhunov
fe01bccbb8
Apply Turbo-Geth modifications to go-ethereum codebase
2019-11-01 21:52:03 +01:00
cdetrio
49a7ee460e
eth: fix storageRangeAt for empty blocks ( #18076 )
2019-07-12 17:43:07 +02:00
Péter Szilágyi
ac3e7c9b3d
eth: remove redundant chain config fields
2019-03-27 13:23:08 +02:00
Jonas
dba336e612
eth: fix EIP158 account cleanup on chain tracing ( #19341 )
...
Fixes #19337
2019-03-27 13:16:28 +02:00
Matthew Halpern
8af6c9e6a2
eth: extract check for tracing transaction in block file ( #19107 )
...
Simplifies the transaction presense check to use a function to
determine if the transaction is present in the block provided
to trace, which originally had a redundant parenthesis and used
a `exist` flag to dictate control flow.
2019-02-19 19:49:24 +02:00
Martin Holst Swende
05d21438de
eth: make tracers respect pre- EIP 158/161 rule
2019-02-01 10:30:59 +01:00
Martin Holst Swende
9bc0138ded
eth: properly flush files in standardTraceBlockToFile ( #18502 )
2019-01-23 11:13:13 +01:00
Péter Szilágyi
0983d02aa9
eth, internal/web3ext: tiny polishes in tracers
2018-12-10 12:33:50 +02:00
Martin Holst Swende
42a914a84f
cmd/evm, core/vm, eth: implement api methods to do stdjson dump to local filesystem
2018-12-10 12:33:50 +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
Martin Holst Swende
89a32451ae
core/vm: faster create/create2 ( #17806 )
...
* core/vm/runtim: benchmark create/create2
* core/vm: do less hashing in CREATE2
* core/vm: avoid storing jumpdest analysis for initcode
* core/vm: avoid unneccesary lookups, remove unused fields
* core/vm: go formatting tests
* core/vm: save jumpdest analysis locally
* core/vm: use common.Hash instead of nil, fix review comments
* core/vm: removed type destinations
* core/vm: correct check for empty hash
* eth: more elegant api_tracer
* core/vm: address review concerns
2018-10-04 18:15:37 +03:00
HackyMiner
6975c72981
all: fix various comment typos ( #17591 )
...
* swarm: fixed comment typo
* eth: fixed comment typo
* cmd/puppeth: fixed comment typo
2018-09-19 18:10:40 +02:00
gary rong
c1c003e4ff
consensus, miner: stale block mining support ( #17506 )
...
* consensus, miner: stale block supporting
* consensus, miner: refactor seal signature
* cmd, consensus, eth: add miner noverify flag
* cmd, consensus, miner: polish
2018-08-28 16:59:05 +03:00
Martin Holst Swende
106d196ec4
eth: ensure from<to when tracing chain (credits Chen Nan via bugbounty)
2018-08-21 09:48:53 +02:00
Péter Szilágyi
11bbc66082
eth, trie: fix tracer GC which accidentally pruned the metaroot
2018-08-09 12:33:30 +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
143c4341d8
core, eth, trie: streaming GC for the trie cache ( #16810 )
...
* core, eth, trie: streaming GC for the trie cache
* trie: track memcache statistics
2018-06-04 10:47:43 +03:00
Péter Szilágyi
6cf0ab38bd
core/rawdb: separate raw database access to own package ( #16666 )
2018-05-07 14:35:06 +03:00
Péter Szilágyi
7a7428a027
core, eth: fix tracer dirty finalization
2018-04-27 14:29:18 +03:00
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.
2018-02-05 17:40:32 +01:00
Péter Szilágyi
ae71da1b03
eth: fix tracer panic when running without configs + reexec ( #15799 )
2018-01-04 12:58:11 +01:00
Felix Lange
9d48dbf5c2
eth: revert tracer preimage recording ( #15800 )
...
This reverts commits 85a1eda59e
(#15792 ) and c495bca4ad
(#15787 )
because they introduce database writes during tracing.
2018-01-03 11:58:25 +01:00
Felix Lange
85a1eda59e
eth: uncaptialize tracer preimage error message ( #15792 )
...
* eth: uncaptialize tracer preimage error message
* eth: improve very important error message
2018-01-03 10:53:09 +02:00
cdetrio
c495bca4ad
eth: enable preimage recording when tracing ( #15787 )
2018-01-02 12:49:17 +01:00
Péter Szilágyi
5258785c81
cmd, core, eth/tracers: support fancier js tracing ( #15516 )
...
* cmd, core, eth/tracers: support fancier js tracing
* eth, internal/web3ext: rework trace API, concurrency, chain tracing
* eth/tracers: add three more JavaScript tracers
* eth/tracers, vendor: swap ottovm to duktape for tracing
* core, eth, internal: finalize call tracer and needed extras
* eth, tests: prestate tracer, call test suite, rewinding
* vendor: fix windows builds for tracer js engine
* vendor: temporary duktape fix
* eth/tracers: fix up 4byte and evmdis tracer
* vendor: pull in latest duktape with my upstream fixes
* eth: fix some review comments
* eth: rename rewind to reexec to make it more obvious
* core/vm: terminate tracing using defers
2017-12-21 13:56:11 +02:00