75fb90be9a
refactor: move metrics endpoint to node cmd ( #505 )
...
* refactor: move metrics endpoint to node cmd
* feat: value names
* refactor: simplify db path parsing
2022-12-18 13:57:37 +02:00
2b06d43465
chore: add codeowners ( #504 )
...
* chore: add codeowners
* chore: add @onbjerg as owner of `bin`
2022-12-18 00:26:43 +01:00
253aae5ea9
RLP decoding error tracing ( #499 )
...
* Add tracing to ProtocolMessage::decode errors
* Change trace message formatting
Now it prints the bytes as a hex string.
Also changed trace level to WARN and added 'handshake' to one of the traces to differentiate between them
* Add prefix to raw message bytes
* Specify 'eth' in trace message
to differentiate it from other handshakes
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com >
Co-authored-by: Dan Cline <6798349+Rjected@users.noreply.github.com >
2022-12-16 20:57:48 -05:00
0a4bf67c32
chore: complete StageDB -> Transaction renaming ( #497 )
2022-12-16 23:16:31 +01:00
4da574df84
feat: add prometheus support ( #474 )
2022-12-16 20:21:26 +01:00
c1f124d3e3
feat(net): temporarily ban bad peers ( #492 )
...
* feat(net): temporarily ban bad peers
* use half duration interval
* Update crates/net/network/src/peers/manager.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* fix bad test
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2022-12-16 18:22:25 +01:00
3989d5d3e0
feat: add more tables to db list ( #491 )
...
* feat: add more tables to db list
* feat: table macro for db command
* feat: lowercase table arg in db cmd
* chore: fix some rustdocs
2022-12-16 18:00:15 +01:00
daaf039fbf
feat(sync): state transition indexes ( #449 )
...
* introduce state transitions and revert/modify block bodies table
* init refactor
* revamp transaction iteration based on bodies and add state transition mappings
* change expected return on empty db execution
* interim commit
* fix body downloader & stage
* refactor(bodies/dl): make fetch bodies fn more clear
* chore: disable unused vars/fns temporarily until exec is back
* chore: fmt
* test: fix tests
* use transitions in execution stage
* clarify empty unwind test
* remove last_tx_index fn
* rename fn and var names
* fix full block response comment
* rename fetcher`s get_block_body to get_block_bodies
* Update crates/stages/src/db.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* fmt
* fix index overlap check error
* uncomment eth chain command
* fix doc comment
* typos
* cleanup
* any_last_tx_index -> last_tx_index
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-16 08:37:49 -08:00
345b2c35b9
fix: apply reputation ( #487 )
...
* fix: apply reputation
* add note
2022-12-16 13:36:58 +01:00
635203759b
feat(discv4): support eth entries ( #447 )
...
* add ENRRequest and ENRResponse messages
* todo: encode and decode impls
* scaffold enrrequest and enrresponse msgs
* implement encodable and decodable for enr
* cargo fmt
* impl sending enr requests
* silence clippy for now
* add todos for enrrequest and response in mocks
* make payload length fold more explicit
* feat: add enr support to ping pong
* integrate enr
* add update methods
* add enr handling
* feat: add enr handling
* integrate fork id
* fix: set frontier forkid
* disable eip868 by default
* address comments
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-16 14:14:19 +02:00
864e6481da
fix: set forkfilter correctly ( #486 )
...
* fix: set forkfilter correctly
* fix types
* update tests
2022-12-16 14:14:07 +02:00
8e4a35ae31
chore: clean up traces ( #481 )
...
* chore: clean up traces
* fix: typo in error
2022-12-16 11:24:46 +02:00
ca204a346d
chore: use later block ( #480 )
...
The block we chose for testing sync previously did not include
any transactions.
2022-12-16 11:18:27 +02:00
617ae3604d
feat(doc): Changeid table design ( #430 )
...
* Table design
* v2
* v3
* Update database.md
* Update docs/design/database.md
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-16 10:20:43 +02:00
e9ec6c2847
fix(sync): remove redundant error ( #476 )
2022-12-16 10:08:49 +02:00
6a70494612
fix(net): use frontier forkid as default ( #478 )
2022-12-16 10:08:16 +02:00
f89fb4b453
fix(sync): database integrity header error message ( #475 )
2022-12-15 23:00:56 +01:00
b1ce398dff
feat(net): add Status to session established event ( #473 )
2022-12-15 22:37:03 +01:00
2b0f5316f9
fix(sync): headers stage progress ( #467 )
...
* fix(sync): headers stage progress
* add tests to head/tip and split suite
* fix(sync): headers stage progress
* add tests to head/tip and split suite
* fix local tip and address comments
* rename error
2022-12-15 10:41:32 -08:00
789dc3bc87
feat: request multiple bodies per request ( #468 )
2022-12-15 18:39:47 +01:00
9cd5824f35
chore: rename StageDB to Transaction ( #470 )
...
* chore: rename StageDB to Transaction
* chore: cargo fmt
* chore: add note about potentially removing this in the future
2022-12-15 18:14:14 +02:00
c10bdb5830
feat: add flag for displaying log target ( #469 )
2022-12-15 18:08:29 +02:00
6e577c6e5f
feat(net): request peer by id through PeersHandle ( #464 )
2022-12-15 17:10:21 +02:00
f509213cb4
refactor: clean up reth node ( #450 )
...
* feat: parse genesis block from a json spec
* refactor: clean up `init_genesis`
2022-12-15 17:09:31 +02:00
9208f2fd9b
test(execution): execution test runner ( #426 )
...
* wip run chain test
* dump pre test state
* bug: fix casting to revm spec
* wip move execution to std thread
* wip scoped thread execution
* fmt clippy
* Update crates/stages/src/stages/execution.rs
* Update bin/reth/Cargo.toml
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Update bin/reth/src/test_eth_chain/models.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Correct models for chain tests
Co-authored-by: rakita <dragan0rakita@gmail.com >
Co-authored-by: rakita <rakita@users.noreply.github.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-15 13:39:55 +01:00
4c298ac022
docs: macos install steps ( #460 )
...
* Add MacOS installatin docs
* move installatio instruction to book
* move installatio instruction to book
* fix installation link in readme
* Remove installation link from docs, add link to installation in book summary
Co-authored-by: Satoshi Okamoto <satoshi@butcher73.com >
2022-12-15 12:55:59 +01:00
48fadbdf2e
fix: missing import
2022-12-15 13:53:20 +02:00
f8b4251886
feat: don't stop the pipeline on internal stage errs ( #453 )
...
* feat: don't stop the pipeline on internal stage errs
* test: add tests for pipeline err handling
* chore: few notes
* refactor: stage error fatal/recoverable variants
* refactor: use recoverable errors in headers stage
* test: adjust tests
* chore: nits
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-15 12:48:41 +01:00
9dbf280bfb
docs(net): add bird's eye view docs ( #456 )
2022-12-15 11:36:58 +02:00
22dc50e5f6
feat(sync): download peer penalization ( #427 )
...
* feat(sync): download peer penalization
* peer penalization
* add tracing on penalization
* add trace on request
* rename consensus back
* clippy
* fix tests
* nit: download result
* nit: fix comment
* rename penalize() to report_bad_message() and move DownloadError
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-15 10:42:18 +02:00
f2707d32b5
fix(net): kick useless peers ( #451 )
2022-12-15 10:04:22 +02:00
c23c65fc3b
feat(net): draft for sending status updates through NetworkHandle ( #436 )
...
* feat(net): draft for sending status updates through `NetworkHandle`
* feat(net): draft for sending status updates through `NetworkHandle`
* fix(net): remove unused import
* feat(net): implement getters for status update sender half
* docs(net): document methods
* chore: cargo fmt
* feat(net): move status updating logic to NetworkManager and NetworkHandle
* feat(net): move status updating logic to NetworkManager and NetworkHandle
* fix(net): fix headers stage testing
* fix: derive default
* fix: remove StatusUpdate struct
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-15 08:59:28 +01:00
7b6bf0820e
fix(cli): remove usage of StageDB on DbTool ( #448 )
...
* use view and update instead of StageDB
* change DbTool docs
* clippy
2022-12-15 08:33:49 +01:00
43f6bb9127
feat(net): integrate discovery banlist ( #442 )
...
* feat(net): integrate discovery banlist
* fix typos
2022-12-14 19:47:11 +02:00
ae2fc494c8
test: fix header dl error test ( #441 )
2022-12-14 17:32:26 +02:00
c2719ec27e
chore(deps): bump secp256k1 from 0.24.1 to 0.24.2 ( #440 )
...
Bumps [secp256k1](https://github.com/rust-bitcoin/rust-secp256k1 ) from 0.24.1 to 0.24.2.
- [Release notes](https://github.com/rust-bitcoin/rust-secp256k1/releases )
- [Changelog](https://github.com/rust-bitcoin/rust-secp256k1/blob/secp256k1-0.24.2/CHANGELOG.md )
- [Commits](https://github.com/rust-bitcoin/rust-secp256k1/compare/secp256k1-0.24.1...secp256k1-0.24.2 )
---
updated-dependencies:
- dependency-name: secp256k1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-12-14 16:40:16 +02:00
4430089b71
fix(download): header download stream ( #438 )
...
* fix(downloader): rewrite header stream
* rm unused import
* add comment
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-14 16:38:10 +02:00
35a41a29f9
style: unify slice access and bytes ( #437 )
2022-12-14 16:26:08 +02:00
d5d876b286
fix(headers-stage): do not exit stage on downloader error ( #439 )
...
* fix: return ctrl to pipeline on header dl error
* chore: adjust log levels
* ecies: improve tag check error granularity
* chore: instrument read_ack/read_auth
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-14 16:25:54 +02:00
28121a4504
chore: cargo fmt
2022-12-14 15:51:15 +02:00
83c89a85e9
Add additional logs for P2P debugging ( #434 )
...
* feat: make logs on network manager more granular
* feat: log error on session disconnect
* temp: manual peer
* temp: manual peer
* feat(linear-dl): make BadResponse error more descriptive
* feat(linear-dl): log retries on future
* chore: add target
* chore: add target
* chore: remove unused var
* chore: remove manual peer override
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2022-12-14 13:53:49 +02:00
9946f232a7
chore(net): improve session error traces ( #435 )
2022-12-14 13:48:28 +02:00
601bdc5022
feat: wire components together in reth node ( #416 )
...
* feat: naively wire up components
* chore: clippy lints
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-14 12:51:56 +02:00
12e7f0acbc
feat(net): make Status and Hello configurable ( #431 )
...
* feat(net): make Status and Hello configurable
* set port
2022-12-14 11:39:09 +01:00
ac5efc0749
fix(download): stream loop ( #433 )
2022-12-14 11:39:02 +01:00
ad191efe88
fix: typo ( #432 )
2022-12-14 10:46:24 +01:00
500f98c9a3
fix(net): use adjust correct counters ( #429 )
2022-12-14 10:55:26 +02:00
df9d14127d
Reth Book - Stages framework/draft ( #360 )
...
* Added framework and start to draft for stages, stopping here to get feedback on approach before pushing forward
* Update README.md
Fixing some wording / grammar.
* Fixing grammar/wording.
* Added note about non-exhaustive stages list, fixed grammar, fixed State exectuion function name, updated language to reflect that the stream yields a SealedHeader and added language to describe that the initial header validation is only a basic validation.
* updated stages chapter, added bodies, senders, execution, next chapter prelude
* typo
* Added line numbers to code snippets for the stages chapter of the reth book
* address reverse header download + other nits
* add note about book hosting
* tweaked wording, formatting
* Address typo "staring"
* Address typo "HeadderDownloader"
* consolidated book.toml
* updating snippets in stages chapter to ignore errors
* template & removed empty fields from book.toml
* addressed build issues, added templating for source code
* only deploy on push to main
* using single quotes in github action if expression
Co-authored-by: Andrew Kirillov <andrew@paradigm.xyz >
Co-authored-by: Andrew Kirillov <20803092+akirillo@users.noreply.github.com >
2022-12-14 10:30:45 +02:00
cbbdac2701
chore(disc): log channel errors ( #428 )
2022-12-14 09:06:16 +01:00
10d960c5d6
refactor(disc): use discv4 as log target ( #423 )
2022-12-13 21:56:20 +01:00