* Only insert hard-coded tips if both DB and files recovery failed
* Prevent deadlock
* Report some efficiency numbers
* Count properly unrequested bodies
* Initialise allRequests
* Increase timeout
* Fixes to scheduling
* Small fix
* Simplified scheduling
* Remove separate bodyLoop goroutine
* Update from DB at the beginnig of block bodies forward
* Timeout for repeating the request cycle
* Fix timeout
* Fix
* Increase timeout
* Increase timeout
* Try to make flow if possible
* Fix flow
* Lower timeout
* timeout for each blockNum
* Adjustable timeout
* Better log timing
* Track peers
* copy peerID
* fix scheduling
* Too much logging
* Print delivery speed
* Print committed blocks
* Fix race
* Sentry to only reset back-off timer when response to a request is received
* Print bytes/sec and wasted traffic
* Fix bandwidth accounting
* Less logging
* not to wake up on deliveries
* Spam every second
* Print peer map
* Fix npe, print requests
* Timestamps
* Improved logging
* Penalty for peers
* Log penalties only when disconnecting
* Try with smaller window
* window parameter
* Dealing with partially delivered requests
* Init bodyReq
* Fix array index
* More fix for NPE
* More NPE checks
* Print out body progress and header progress
* Fix ending condition
* Bring back waking up and penalties
* Fix duplicate tip
* Duplicate segment
* Fix lint
* Fix lint
* fix lint
* Fix lint
* Hard coded headers in the source files
* Fix lint
* Replace hix-sized header serialisation with rlp (to support clique)
* Remove anchor records from the files
* Fixeds for DB recovery
* Fix compilation
* Fix compile errors
* Fix formatting
* Fix lint
* Fix comments
* Remove headerLoop
* Properly terminate body download
* Support for StatusData p2p proto
* Fix forkid test
* Fix test
* Fix lint
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* Remove hashed changesets
* try this
* oops
* simplify
* better diagnostics
* don't hash account key and use bitmap 64 to check history index
* update docs of bucket
Co-authored-by: alex.sharov <AskAlexSharov@gmail.com>
* move experiments to new branch&reorganise kv_snapshot
* walk&modify tests
* added delete from snapshot tests
* fmt
* state snapshot debug
* snapshot validation passed. copy state snapshot
* debug
* snapshot cursor.Prev test
* Prev works correct. Added Current check
* add err check
* added walk forward and backward test
* before refactoring
* refactoring
* execution with snapshot debug
* fix
* remove useless test
* before dupcursor implimentation
* tests with prev and delete works
* execution based on state snapshot passed
* remove useless tests
* blocks to 1140000 passed
* clean verifier
* cleanup state generation
* clean verify && seeder
* remove debug code
* tests passed
* fix lint
* save state
* test passed
* fix lint
* add state hash
* fix lint
* rpcdaemon performance improve - less reading blocks, less allocs on server
* rpcdaemon performance improve - less reading blocks, less allocs on server
* rpcdaemon performance improve - less reading blocks, less allocs on server
* rpcdaemon performance improve - less reading blocks, less allocs on server
* don't use global variables
* df
* avoid use non-transactional db instance to reduce amount of cursors
* Bad unwind of recreation of CREATE2 contract - unit test and potential fix
* Fix unit test
* Fix lint
* Fix lint
* Fixup hack
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* 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>
* Cleanup and rpcdaemon unit tests
* Fix
* Fix
* Fix lint
* Test for debug_traceTransaction
* Add NoRefunds option
* Compile fix, test for no refunds
* Fix compile
* Add poly contract, fix compile errors
* No refunds now work
* Fix NPE in rpcdaemon
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
* State cache init
* More code
* Fix lint
* More tests
* More tests
* More tests
* Fix test
* Transformations
* remove writeQueue, before fixing the tests
* Fix tests
* Add more tests, incarnation to the code items
* Fix lint
* Fix lint
* Remove shards prototype, add incarnation to the state reader code
* Clean up and replace cache in call_traces stage
* fix flaky test
* Save changes
* Readers to use addrHash, writes - addresses
* Fix lint
* Fix lint
* More accurate tracking of size
* Optimise for smaller write batches
* Attempt to integrate state cache into Execution stage
* cacheSize to default flags
* Print correct cache sizes and batch sizes
* cacheSize in the integration
* Fix tests
* Fix lint
* Remove print
* Fix exec stage
* Fix test
* Refresh sequence on write
* No double increment
* heap.Remove
* Try to fix alignment
* Refactoring, adding hashItems
* More changes
* Fix compile errors
* Fix lint
* Wrapping cached reader
* Wrap writer into cached writer
* Turn state cache off by default
* Fix plain state writer
* Fix for code/storage mixup
* Fix tests
* Fix clique test
* Better fix for the tests
* Add test and fix some more
* Fix compile error|
* More functions
* Fixes
* Fix for the tests
* sepatate DeletedFlag and AbsentFlag
* Minor fixes
* Test refactoring
* More changes
* Fix some tests
* More test fixes
* More test fixes
* Fix lint
* Move blockchain_test to be able to use stagedsync
* More fixes
* Fixes and cleanup
* Fix tests in turbo/stages
* Fix lint
* Fix lint
* Intemediate
* Fix tests
* Intemediate
* More fixes
* Compilation fixes
* More fixes
* Fix compile errors
* More test fixes
* More fixes
* More test fixes
* Fix compile error
* Fixes
* Fix
* Fix
* More fixes
* Fixes
* More fixes and cleanup
* Further fix
* Check gas used and bloom with header
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
This PR replaces the old test genesis.json and chain.rlp files in the testdata
directory for the eth protocol test suite, and also adds documentation for
running the eth test suite locally.
It also improves the test output text and adds more timeouts.
Co-authored-by: Felix Lange <fjl@twurst.com>
# Conflicts:
# cmd/devp2p/internal/ethtest/suite.go
TAP is a text format for test results. Parsers for it are available in many languages,
making it easy to consume. I want TAP output from our protocol tests because the
Hive wrapper around them needs to know about the test names and their individual
results and logs. It would also be possible to just write this info as JSON, but I don't
want to invent a new format.
This also improves the normal console output for tests (when running without --tap).
It now prints -- RUN lines before any output from the test, and indents the log output
by one space.
# Conflicts:
# cmd/devp2p/discv4cmd.go
# cmd/devp2p/discv5cmd.go
# cmd/devp2p/rlpxcmd.go
The old one was wrong in two ways: the first block in chain.rlp was the
genesis block, and the genesis difficulty was below minimum difficulty.
This also contains some other fixes to the test.