ledgerwatch
e4cade4ea7
Fix recording file for rpctest ( #2418 )
...
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-07-21 22:37:32 +01:00
ledgerwatch
1c24b9371e
Refactoring of rpctest to reduce copy-paste and enable error recording ( #2401 )
...
* Refactoring of rpctest to reduce copy-paste and enable error recording
* Reduction
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-19 18:50:45 +01:00
Alex Sharov
325c9cd9d8
RPC: compatible accountRange ( #2378 )
2021-07-16 22:01:29 +07:00
ledgerwatch
c0488ea919
Fix for trace in trace_replayTransaction and trace_replayBlock ( #2380 )
...
* Fix for trace in trace_replayTransaction and trace_replayBlock
* Add to the rpctest
* Improve output
* Fix typo
* Simplify
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-07-16 08:31:28 +01:00
ledgerwatch
74a96cbefd
Improvements in rpctest ( #2376 )
2021-07-15 21:00:10 +07:00
Alex Sharov
7c60cc0fee
step towards kv interface ( #2313 )
2021-07-08 09:56:09 +07:00
ledgerwatch
f5e42b1e7a
Fixes in rpctest and rpcdaemon for debug_traceTransaction, and opcode tracer, tool for repairing broken receipts ( #2284 )
...
* Fixes in rpctest and rpcdaemon for debug_traceTransaction
* Fix for opcode tracer
* Tool to fix receipts
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-03 14:34:23 +01:00
ledgerwatch
ba55611f29
rpctest for eth_getTransactionReceipt ( #2271 )
...
* rpctest bench for eth_getTransationReceipt
* Add blockHash to re-generated receipts
* Modify scanReceipts
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-07-02 14:34:20 +01:00
Artem Vorotnikov
d8a009837b
Nuke preimage remnants ( #2203 )
2021-06-20 13:00:22 +07:00
Alex Sharov
bc271f92ce
To break dependency to db implementation - move all db classes to "ethdb/kv" and leave in "ethdb" only interfaces ( #2195 )
2021-06-19 15:21:53 +07:00
Artem Vorotnikov
af836a6200
Nuke LMDB ( #2167 )
2021-06-16 13:57:58 +03:00
ledgerwatch
d1e4edb180
Better compatibility with OE for trace_call and trace_callMany ( #2137 )
...
* Better compatibility for trace_call
* Also for trace_callMany
* non canonical hash error
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-06-11 13:19:10 +01:00
Alex Sharov
5ba3ea162a
Simulated backend and genesis to kv ( #2104 )
...
* move to kv
* move to kv
* move to kv
* move to kv
* move to kv
* move to kv
* merge
* merge
* merge
* merge
* merge
* merge
* merge
* merge
2021-06-05 16:17:04 +01:00
Evgeny Danilenko
74847d77e6
Rename to Erigon ( #2018 )
...
* turbo-geth to erigon
* tg, turbo to erigon
2021-05-26 11:35:39 +01:00
Alex Sharov
0be3044b7e
rename ( #1978 )
...
* rename
* rename "make grpc"
* rename "abi bindings templates"
* rename "abi bindings templates"
2021-05-20 19:25:53 +01:00
Alex Sharov
9d66aa0fe3
better support for mdbx in snapshots ( #1971 )
2021-05-20 18:12:07 +07:00
ledgerwatch
59e5502744
Initial work on RPC streaming ( #1880 )
...
* Initial work on RPC streaming
* Create the stream and pass it on
* trace_filter expressed as streamable (not finished)
* Reenable call trace index
* Add new line
* Remove storage mode override
* Tool for overriding storage mode
* Diagnostics
* Make trace_filter more streamy
* Streaming debug_traceTransaction and debug_traceCall
* Fix test
* Log error on stream flush
* Enable streaming for http
* Flush the stream too
* Make trace_filter flush too
* Stop streaming if client is not interested
* Try to quiet annoying test|
* Revert "Try to quiet annoying test|"
This reverts commit 42849257bfa52e90140aa535af34b957cd97a222.
* Debug log for test
* Proceed with handshake regardless of whether peer notification worked
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-06 18:37:38 +01:00
ledgerwatch
793c13e20e
trace_filter and CallTrace Index (derivative of #1626 ) ( #1867 )
...
* Trace Index
* trace_filter
* hrtc -> hrt
* Fix CallTraces
* wip
* wip
* Fix for incorrect gas
* fix
* Fix Tracer
* Add block and uncle coinbases to trace index
* rewind coinbase
* Commit every 100k blocks after block 3m
* Simplify
* Safe unwinds
* Safe unwind 2
* Cleanup
* Simplification
* Remove intermediate JSON transform
* Reinstate optional CallIndex stage
* Create rpctest bench for trace_filter
* Fix trace_filter generator
* Restore unwind order
* Ignore the storage mode
* Ignore the storage mode
Co-authored-by: Artem Vorotnikov <artem@vorotnikov.me>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-04 07:23:54 +01:00
Alex Sharov
f230ba1da4
Less use rawdb deprecated methods ( #1861 )
...
* less use deprecated methods
* less use deprecated methods
* auto Dp limit
* auto Dp limit
* add test
2021-05-03 21:01:01 +01:00
ledgerwatch
5168287784
Make trace_block results closer to what OpenEthereum returns ( #1862 )
...
* Add block rewards to trace_block
* Add rewards to trace_block
* Remove printouts
* Fix trace_block and trace_transaction
* Fix getBlockByNumber
* Fix for parent/non parent block
* Reverse fix for trace_call
* Fix eth_getTransactionBy
* Fixes for TIMESTAMP etc opcodes
* More fixes
* Fixes to tracers
* Don't call CaptureEnd twice
* Corrent gasUsed for CaptureEnd in create
* Do CaptureFault consistently
* Correct gasUsed for create
* Remove insufficient balance trace
* Catch contract collision error
* Compatibility
* Compatibility
* More error names
* Out of gas
* Clean up
* more error messages
* Restore CaptureFault
* Errors
* Fix test
Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
2021-05-03 20:49:55 +01:00
Alex Sharov
aacc457ea8
rawdb deprecated methods with Database interface ( #1854 )
2021-05-01 14:42:23 +07:00
Artem Vorotnikov
58fca1cd0a
trace_block (part 1) ( #1714 )
2021-04-15 00:44:58 +03:00
Alex Sharov
9527671e5e
Remove blockchain object step3 ( #1684 )
2021-04-07 12:38:43 +07:00
Artem Vorotnikov
d66555268d
Harmonize DB APIs ( #1669 )
2021-04-03 09:26:00 +03:00
Alex Sharov
fbfc43da7e
etl to use rwtx ( #1660 )
2021-04-02 18:22:25 +07:00
Alex Sharov
ef77eb3053
tx.RwCursor() to return err (first step of removing lazy cursors) ( #1656 )
2021-04-02 13:36:49 +07:00
ledgerwatch
7b019aaa72
rpctest: Recording requests and responses and replay command ( #1644 )
...
* Record to file
* Add replay command
* Update doc
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-03-31 20:20:38 +01:00
Alex Sharov
b4a2d823c4
old loader remove v1 ( #1641 )
2021-03-31 14:43:12 +07:00
ledgerwatch
270f866b06
rpctest commands to support block ranges, integration tool to allow tx tracing into files ( #1616 )
...
* block range options for rpctest
* convert bench8 to fastjson
* Add txtrace to integration tool
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-03-27 21:43:38 +00:00
Artem Vorotnikov
6a6f5469a1
KV: Split RO and RW transactions ( #1577 )
2021-03-21 20:15:25 +07:00
alex.sharov
e7034c0eba
revert
2021-03-21 17:50:05 +07:00
alex.sharov
970c7e93a8
remove old flags
2021-03-21 17:05:42 +07:00
Alex Sharov
f1ee8d507e
New Trie db layout - store trie structure info and multiple hashes per record ( #1500 )
...
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
2021-02-21 18:41:59 +00:00
canepat
3388c1f1af
Make vegetaWrite function usable from all benchs ( #1502 )
...
Add vegetaWrite support to bench8 (disabled)
Add trace log with comparative timings in bench8
2021-02-19 13:26:28 +07:00
ledgerwatch
7c81e9198d
Fixes to trace_call, trace_callMany, dual RPC daemon mode ( #1491 )
...
* Fixes to trace_call, trace_callMany, dual RPC daemon mode
* Fix compile error
* Fix compile error
* Compile error fix
* Compile error fix
* Fix typo
* Fix discrepancy when trace is empty
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-02-12 16:47:32 +00:00
ledgerwatch
2daa71e6cb
Support for trace_callMany ( #1486 )
...
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-02-10 17:04:47 +00:00
Artem Vorotnikov
5c34713e71
Remove nested transactions ( #1483 )
2021-02-10 17:04:22 +00:00
ledgerwatch
7c8bae8591
Implementation of debug_traceCall, add stateDiff to trace_call ( #1442 )
...
* Implementation of debug_traceCall
* Fix compile error
* Implementing stateDiff in trace_call - WIP
* fixes to stateDiff, better parsing in rpctest
* Fix lint
* Fix lint
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2021-01-18 11:13:19 +00:00
ledgerwatch
0953fd42cb
WIP trace_call implementation ( #1399 )
...
* trace_call initial
* Fix tests
* More tracing
* Add more fields to the action
* Completed first example query
* Add initial bench11 to compare trace_call with OpenEthereum
* Exclude precompile calls from call traces
* Add self-destruct, call types, more comparison in rpctest
* Support for execution errors
* Stack underflow error and delegatecall value
* Fix lint
* Fix suicide traceAddress, Bad instruction error
* Fix lint
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2020-12-14 11:27:52 +00:00
Alex Sharov
9712e858e2
Method delete to accept second param: allow delete dupsort values ( #1297 )
...
* aloow_delete_dupsort_values
* check canonical receipt
* exclusive lock for mdbx
* readme_load_dump_tables
* readme_load_dump_tables
* readme_load_dump_tables
* Remove IdealBatchSize change
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
2020-10-29 13:19:31 +00:00
Alex Sharov
331dcd45eb
Store receipts separately - one record per tx ( #1271 )
...
* squash
* add --database flag to integration
* clean
* split to 2 buckets
* split to 2 buckets
* split to 2 buckets
* split to 2 buckets
* split to 2 buckets
* save progress
* save progress
* improve test
* improve test
* save progress
* change app logic
* change app logic
* return err from rawdb package
* don't clean automatically
* don't clean automatically
* clean
* clean
* clean
* don't rely on `make clean`
* improve cbor code
* clean
* clean
* clean
* fix tests
* rebase master
* stop on error: headers stage
* make TxDb walk and multiwalk safe
* Fix panics
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
2020-10-25 08:38:55 +00:00
Alex Sharov
9cf10a8f85
Rpcdaemon: Gracefull shutdown, better grpc stream close ( #1196 )
...
* save progress
* GracefulShutdown grpc server, send to server close signal before canceling context
* GracefulShutdown grpc server, send to server close signal before canceling context
* GracefulShutdown json server
* GracefulShutdown json server
* fix lint
* fix lint
* can
* clean
* test
* test
* test
* increase keepalive timeout, increase vegeta timeout, mark server-side errors
* increase keepalive timeout, increase vegeta timeout, mark server-side errors
* hack hugeFreelist
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* up streams limit
* fix_race_condition_on_zstd_build
2020-10-10 07:06:54 +01:00
Alex Sharov
09d0020669
build docker on ci ( #1198 )
...
* build docker on ci
* setup docker
* build docker on ci
2020-10-07 11:12:10 +01:00
Alex Sharov
e02d6acc7d
bitmap indices for logs ( #1124 )
...
* save progress
* try now
* don't create bloom inside rlpDecode
* don't create bloom inside ApplyTransaction
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* rename method
* print timings
* print timings
* print timings
* sort before flush
* fix err lint
* clean
* move tests to transactions
* compressed version
* up bound
* up bound
* more tests
* more tests
* more tests
* more tests
* better removal
* clean
* better performance of get/put methods
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* optimize rpcdaemon
* fix test
* fix rpcdaemon
* fix test
* simplify
* simplify
* fix nil pointer
* clean
* revert some changes
* add some logs
* clean
* try without optimize
* clean
* clean
* clean
* clean
* try
* move log_index to own stage
* move log_index to own stage
* integration add log_index stage
* integration add log_index stage
* clean
* clean
* print timing
* remove duplicates at unwind
* extract truncateBitmaps func
* try detect
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* add blackList of topics
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* clean
* sharding 1
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 2
* sharded 3
* sharded 3
* sharded 3
* speedup things by putCurrent and putReserve
* clean
* optimize trim
* clean
* remove blacklist
* add more info to err
* ?
* clean
* clean
* clean
* clean
* clean
* working version
* switch to cgo version of roaring bitmaps
* clean
* clean
* clean
* clean
* more docs
* clean
* clean
* fix logs bloom field
* Fix debug_getModifiedAccountsByNumber
* Try to fix crash
* fix problem with "absent block"
* fix problem with "absent block"
* remove optimize method call
* remove roaring iterator
* fix problem with rebuild indicess
* remove debug prints
* tests for eth_getLogs involving topics
* add tests for new stage, speparate topics into 2 buckets
* version up
* remove debug logs
* remove debug logs
* remove bloom filter implementation
* Optimisation
* Optimisatin not required, make rpctest lenient to geth errors
* Lenient to geth failures
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
2020-09-28 18:18:36 +01:00
Igor Mandrigin
adf52465e3
move ./trie to ./turbo/trie ( #1114 )
...
Useful for minimizing merge conflicts when rebasing new geth
2020-09-14 11:33:39 +01:00
ledgerwatch
3a92b2b39d
Fix for RPC daemon leak ( #1059 )
...
* Start memory prof
* Fix rpctest
* Fix rpctest
* Attempt to fix the leak
* Remove http pprof
2020-09-05 21:58:51 +01:00
Alex Sharov
325785aba4
add net namespace ( #974 )
2020-08-25 20:04:01 +07:00
Alex Sharov
1dcc2b141a
Rpcdaemon as lib ( #940 )
...
* share config object
* create default config and logger
* move db connection to common func
* move server start to cli package
* clear
* clear
* rename cli to rpc
* use unified SetupLogger func
* make all root flag persistent
* use common flags in different packages
* use common flags in different packages
* move TraceTx method to eth package
* use native slice flags
* create package "turbo"
* disable geth api
* disable geth api
* move more data types to turbo/adapter package
* add support for customApiList
* run more
* run more
* run more
* dog-food
* move DoCall
* move DoCall
* fix tests
* fix test
2020-08-19 12:46:20 +01:00
b00ris
eb46dd68df
Account range testing ( #938 )
...
* save state
* save state
* save new timeouts
* compare passed
* save state
* cleanup
2020-08-19 07:33:49 +01:00
ledgerwatch
cf799157cc
Jumpdest skip optimisation ( #851 )
...
* Jumpdest skipping optimisation
* Fix formatting
* Move skipAnalysis into vmConfig, introduce tracing ability
* Improve detection logging
* Added release instructions
* Fix lint
2020-08-01 17:56:57 +01:00