This change adds a test framework for the "eth" protocol and some basic
tests. The tests can be run using the './devp2p rlpx eth-test' command.
# Conflicts:
# core/forkid/forkid.go
# eth/discovery.go
# eth/handler.go
# eth/helper_test.go
# eth/protocol_test.go
This change moves the RLPx protocol implementation into a separate package,
p2p/rlpx. The new package can be used to establish RLPx connections for
protocol testing purposes.
Co-authored-by: Felix Lange <fjl@twurst.com>
# Conflicts:
# p2p/rlpx/rlpx.go
# p2p/rlpx/rlpx_test.go
# p2p/server_test.go
* switch receipts to cbor
* switch receipts to cbor
* rpcdaemon to cache chainconfig
* rpcdaemon to cache chainconfig
* rpcdaemon to cache chainconfig
* rpcdaemon to cache chainconfig
* Starting to look at performance
* Fixes issue #1142 - incorrect error strings
* Uses a recent fix in Geth callTracer code to return balance to self-destruct traces
* Add headers persistence
* Print flushBuffer
* Fix indexing problem
* Not skip hard-coded headers if the files are empty
* Fix lint
* print anchor state after init
* Properly construct file names
* Add check sub-command
* Fix lint
* Fix lint
* Fix lint
* Print more info when recovering
* Fix recovering
* Fix recovery
* Add anchors also as tips
* 2-level priority queue for tips
* Initialise tipQueue in anchor
* update maxTipHeight
* fix type
* Add anchors to the anchorQueue and rebuild anchorQueue on deletion
* Fix NPE
* fix recovery
* User buffersize, add hard coded headers to buffer
* Reinit anchorQueue
* Schedule requests after recovery
* No fix
* Remove duplicates
* Report duplicate headers
* Log buffer additions
* Fix for duplicate headers
* Try to fix duplicate headers again
* remove TODO comment
* Use LLRB instead of heap for anchors
* Print reserveTip info
* Correctly replace anchors in the tree
* Remove excessive logging
* Print tips attached to the anchor
* Print tips better
* limitTips instead of reserveTip
* Print forked headers
* Use pointers in llrb
* Print tipStretch
* Print limitTips
* Mininise AnchorItem
* Put anchors into the tree
* Fix totalDiff calculation, but is it needed?
* Remove totalDifficulty from anchors
* CheckInitiation
* Fix tests
* Fix lint, print more at check initiation
* Better output for hard-coded anchors
* Print hard-coded anchors better
* Prioritise anchors with short stretches
* Prioritise by chainSize
* Use linked list instead of heap for requestQueue
* Fix problem of no requests
* Push front
* Fix lint
* Not verify PoW for too far in the past and future
* Fix Calculation of totalDifficulty when Connect
* Fix hard tips
* Another fix for tips
* Adding some testdata for RPC tracing
* Adding command line option to allow switching trace export format
* Moved types into a separate file for clarity
* Added endpoints and stub functions for other trace routines
* Added experimental end points for issuance, blockReward, and uncleReward
* Moved supporting functions for filtering to _filtering file
* Moved Filter function to _filtering file
* Reordering functions for clarity
* Cleaning up
* Implemented trace_get - 7 of 8 tests pass
* Implemented trace_transaction - 2 of 8 tests pass
* Updating test cases
* Turning off lint temporarily. Will be turned back on
* Extended trace_filter (parity traces, reward traces) - 10 of 13 tests pass
* Implemented trace_block - 4 of 6 tests passed
* Cleanup test cases
* Added refundAddress and selfDestructedAddress to self destruct traces
* Total hack fix to missing gasUsed in some tests. Fixes tests, needs to be replaced
* Process BlockHeadersMsg
* Print invalidations
* Print reason for parent-child mismatch
* Fix off by one error
* Fix ExtendDown
* Replace tipLimiter with an LRU cache
* Retrieve 256 headers at a time
* Hard coding of tips, process new block hashes
* extract headers
* Write hard-coded headers into a file
* Add total difficulty
* Insert hard coded headers
* Log i
* Initiate download from hard-coded anchors
* Print the state of anchors
* Add hard-coded headers as tips
* Spare the peers
* Refine LRU caching of tips
* Print length of anchor trees
* Limit requests to 192 headers
* range error fix
* Print better, retain at least one tip in the LRU cache
* Skip duplicate line ends
* Throttle requests, display peer name
* Back off, intermediate tip queue
* Print block header timestamp
* Better logging
* Log less
* More logging of evictions
* Fix queue push
* Fix queue pop
* Exclude duplicate tips
* Fix tips logging
* Fix moving
* Add port flag
* Check headers
* Print extra
* Add mixDigest to serialisation
* Fix difficulty in hard-coded headers
* Avoid duplicate header requests
* Update peer characteristics on NewBlockMsg
* Remove backoff when peer responds
* Fix tests
* Fix lint
* Fix lint
* added tls auth
* added client side
* put --tls
* fixed flag
* Add key/cert generation instructions, turn off Common Name verification
* Add CLI arguments and Warning
* Lint
* Update the doc about Internal IP
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
* Rewrite of README for clarity and expanding implementation table
* Small cleanups for web3_api.go
* Changed GetReceipts function to non-export (getRecipts) and cleaned up comments
* Added a comment for GetLogsByHash
* Add support for eth_protocolVersion and eth_chainId
* Adding comments and re-ordering fields to agree with Parity's ordering
* Added support for eth_listening. Moved net_version to same file as others
* Setup for adding eth_gasPrice
* Fixes issue #1110 - eth_getStorageAt returning inconsistent values
* Adds support for various eth_getUncle calls
* Adding a couple of comments
* Adding support for eth_getTransactionCount
* Cleaning up README's
* Cleaning up README for rpcdaemon
Co-authored-by: tjayrush <jrush@greathill.com>
* Removed old TODOs
* Adding support for web3_clientVersion and web3_sha3
* Fixing formatting
* Adding new endpoints to README
* Responding to comments by removing date from compile-time values