Matthias Seitz
3f9e7a080a
feat(net): introduce PeersInfo trait ( #860 )
2023-01-13 12:04:39 +01:00
Matthias Seitz
6b86b40539
chore(deps): bump ethers ( #861 )
2023-01-13 11:57:14 +01:00
Matthias Seitz
7767b216bc
feat: integrate DNS discovery service ( #832 )
2023-01-13 10:34:13 +01:00
Matthias Seitz
ba3048ceb0
refactor: add network-api crate ( #838 )
2023-01-12 19:39:44 -08:00
Matthias Seitz
429cd69ed4
feat(nat): add None Natresolver ( #834 )
2023-01-12 07:56:43 -08:00
Matthias Seitz
09c5a04c7b
feat(disc): add DnsDiscovery service ( #794 )
2023-01-12 12:49:02 +01:00
Matthias Seitz
23984e3db7
chore(deps): rm unused tracing-futures ( #830 )
2023-01-12 12:22:27 +01:00
Bjerg
20ee1bb1c9
refactor: move cli trace helpers to reth-tracing ( #820 )
2023-01-11 10:20:37 -08:00
Bjerg
2e95ed4b6e
fix: make config serialize as toml ( #811 )
2023-01-11 13:36:41 +01:00
Bjerg
2e87017686
feat(cli): more reasonable log output ( #784 )
2023-01-11 11:53:33 +01:00
joshieDo
aabbe4923b
chore(codecs): add proptest roundtrip to all main_codec ( #803 )
2023-01-10 22:06:01 -08:00
Matthias Seitz
55bc2591e6
fix(net): handle outgoing connection error correctly ( #798 )
2023-01-10 21:30:17 +01:00
rakita
e5e74cbc02
fix(execution): Increase cache scope, and apply block reward to cache ( #793 )
...
* bug: Apply block reward to evm cache
* Move cache to all blocks
* add tests
* Update crates/executor/src/executor.rs
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
2023-01-10 08:05:50 -08:00
David Kulman
515590faa8
refactor: move cli utils to new reth-cli-utils crate ( #790 )
...
* Move bin/src/util to reth-cli-utils
* Add reth-cli-utils to workspace members
* Fix imports in bin/src
* Create reth-cli-utils crate
* Add utils import
2023-01-10 01:13:41 +01:00
Matthias Seitz
2b3dfe93a7
feat(dns): add dns discovery service ( #768 )
...
* feat(dns): add dns discovery service
* feat: add entry types
* add codec impls
* resolve basics
* Update crates/net/dns/src/tree.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2023-01-09 18:09:09 +01:00
Matthias Seitz
d522abb749
chore(deps): bump tokio 1.24 ( #778 )
2023-01-09 17:52:08 +01:00
Sanket Shanbhag
d98f9fe507
move HasRemoteAddr trait to reth-net-common ( #775 )
2023-01-09 10:43:46 +02:00
Matthias Seitz
acb0753812
chore(deps): remove unused ether-core ( #760 )
2023-01-07 12:12:48 +02:00
Andrew Kirillov
2da828478c
feat(net): Bandwidth monitoring ( #707 )
...
* WIP for draft PR
* added basic test
* using BandwidthMeterInner type & added TcpStream test
* formatted
* formatted w/ +nightly
* using & for and
* formatted
* added default impl for BandwidthMeter
* using _bandwidth_meter bc unused
* removed redundant clone
* addressed nits, renamed file
* addressed nits, renamed file
2023-01-06 21:43:13 +01:00
Sanket Shanbhag
1b5bc5e1f7
Rotate peers when fetching ( #743 )
2023-01-06 12:21:42 +01:00
joshieDo
258431aac8
primitives: add own Bloom type with arbitrary ( #746 )
...
* add own Bloom type with arbitrary
* use impl_hash_compact instead
* add doc to exported macro
* remove unused crate and code
* fix rlp encode length for Bloom
* use RlpDecodableWrapper and RlpEncodableWrapper instead
2023-01-06 13:10:19 +02:00
Matthias Seitz
6cf5427af3
style(discv4): use event buffer ( #737 )
2023-01-05 17:50:09 +01:00
Sanket Shanbhag
e4bd5b4fe9
feat(net): add NetworkMetrics ( #708 )
...
* Added NetworkMetrics
* update docs
* add more metrics and make naming consistent
* add active inbound and outbound connection metrics
2023-01-05 10:17:57 +01:00
Georgios Konstantopoulos
759ba39311
feat: Stage tool ( #716 )
...
* feat: `reth stage` command
* refactor(bin): move init utils to separate file
* feat(bin): scaffold stage command for one stage
* fix: correctly set from/to for stage range
* fix(stage-tool): add unwind before execute to re-exec
otherwise we're double executing stuff
* fix(stage-tool): use max commit threshold avail
* chore: rm unused vars
* fix(genesis-init): take a write tx only if needed
this avoids blocking by accident if we took a write tx expecting
that init_genesis would immediately return the hash
* feat(stage-tool): add bodies stage
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
2023-01-04 21:53:27 +02:00
Roman Krasiuk
973ea48e03
feat(cli): p2p header & body download ( #698 )
...
* p2p cli scaffolding
* refactor to fetch client
* body & header download
* p2p trusted opts
* add retries
* notify on retry
* clippy
* display err
2023-01-04 21:33:08 +02:00
joshieDo
6407b5087e
chore: use B160, B256 and U256 coming from revm and ruint ( #676 )
...
* use B256, B160 and U256 from revm
* fix U256 from_str
* use U256::ZERO
* use temporary commit for revm and interpreter
* more U256::ZERO
* more changes for revm/ruint types
* clippy
* change revm and revm-interpreter repo
* remove H160 wrap
* minor cleanup
* remove unused
* fix MIN_PROTOCOL_BASE_FEE
2023-01-04 11:11:48 +02:00
LambdaClass
efac887e30
chore: add serde feature to network crate ( #653 )
...
* Add serde feature and support for PeersConfig
* Add Duration fields and Weights
* Add serde for ConnectionInfo field
2023-01-01 18:27:55 +02:00
Sanket Shanbhag
20847845e2
feat: raise fd limit of the binary ( #668 )
...
* raise fd limit of the binary
* Remove tracing and return error
* Ignore errors
2023-01-01 12:49:00 +01:00
Roman Krasiuk
a7d8059357
test(engine): consensus engine tests ( #648 )
2022-12-30 13:17:27 +02:00
Roman Krasiuk
565a0aa90b
feat(engine): new payload execution ( #631 )
...
* feat(engine): new payload execution
* address PR comments
* rm unused dev deps
* add comment about lru
* remove par_iter
2022-12-29 02:36:56 -08:00
Matthias Seitz
525f28a67d
feat(net): integrate external public ip auto discovery ( #632 )
...
* feat(net): integrate external public ip auto discovery
* Update crates/net/discv4/src/config.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* rename var
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-28 16:14:07 +01:00
Matthias Seitz
c3432bc284
feat(rpc): add rpc builder support ( #635 )
2022-12-28 15:55:30 +02:00
Tomás
dcd3923d19
Add serde support for NodeRecord primitive type ( #617 )
...
* Add serde support to NodeRecord
* Move NodeRecord to primitives
along with NodeKey and Octets
* Reexport NodeRecord from discv4
* Move NodeKey and kad_key back to discv4::node
Also, move NodeRecord::key functionality to a helper function: discv4::node::record_key.
This avoids the discv5 dependency in the primitives crate.
* Fix NodeRecord (de)serializing
The default derive macros work with a dictionary like display.
Changed that to serde_with macros, that use Display and FromStr traits.
* Add some tests for NodeRecord (de)serializing
* Hide NodeKey struct
* Move Octets after NodeRecord
* Replace record_key with From trait
* Fix clippy error
unnecessary into()
2022-12-27 18:03:54 +01:00
Mariano A. Nicolini
c2b19cecef
feat: add txpool metrics ( #584 )
...
* feat(metrics): `Metrics` derive macro
* rename metrics to metrics-derive
* use fully qualified fmt path
* metric vec with capacity
* favor metrics over simple scope attr, simplify code
* pull metric description from doc comment
* rm debug log
* add more docs and sample usage
* link to metrics macros
* add tests for metrics derive macro
* clippy
* Fix doc of headers_unexpected_errors field of HeaderMetrics
* Add tx pool metrics struct and metrics updates in code
* Format file
* Update metrics doc
* Add some comments
* Format file
* Refactor metrics describers for consistency
* Format files
* Fix broken import
* Apply metrics macro to TxPoolMetrics
* Remove unused imports
* Remove unused commented code
* Remove files
Co-authored-by: Roman Krasiuk <rokrassyuk@gmail.com >
2022-12-27 16:44:41 +01:00
Roman Krasiuk
5bb14ecb7c
fix(metrics): metrics derive separator ( #625 )
...
* fix(metrics): metrics derive separator
* fix existing metrics
* rm log
* static regex
2022-12-27 03:16:41 -08:00
Roman Krasiuk
663efa8d2a
feat(metrics): Metrics derive macro ( #592 )
...
* feat(metrics): `Metrics` derive macro
* rename metrics to metrics-derive
* use fully qualified fmt path
* metric vec with capacity
* favor metrics over simple scope attr, simplify code
* pull metric description from doc comment
* rm debug log
* add more docs and sample usage
* link to metrics macros
* add tests for metrics derive macro
* clippy
* simplify path comparison
* cleanup
* remove unused dep
* rename stage metrics
2022-12-26 14:27:24 -08:00
Matthias Seitz
3a07eb930f
feat(net): add nat external ip crate ( #605 )
2022-12-25 18:22:31 +02:00
Matthias Seitz
4e677b5993
refactor(net): unify dropped connection handling ( #595 )
2022-12-23 21:46:44 +01:00
rakita
284391c181
test(execution): chain test state check, execution bug fixes/upgrades ( #472 )
...
* temp: header stage backoff stand-in
* feat(execution): Check chain post state, fix StateProviderLatest and evm return
* Disable receipt merkle tree check
* update and merge
* Fix storage double values in dup table
* fmt
* Update bin/reth/src/test_eth_chain/runner.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
* Enable receipt root check after byzantium
* Receipt inner rlp without header for proof root
* some cleanup nits
* nit
Co-authored-by: Oliver Nordbjerg <hi@notbjerg.me >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-23 18:42:19 +01:00
Bjerg
562e895f21
ci: unused dependencies sanity check ( #590 )
...
* ci: add unused deps sanity check
* ci: fix unused deps issue template title
* ci: rename udeps job
* chore: formatting
* chore: make `cargo-udeps` ignore `aquamarine`
* deps: resolve unused deps
* ci: check every feature and target in udeps job
2022-12-23 13:19:50 +01:00
Matthias Seitz
9d439d6fc8
chore(deps): bump ethers ( #591 )
2022-12-23 13:04:35 +01:00
Mariano A. Nicolini
b12939db47
feat: add stagedsync headers metrics ( #498 )
...
* add dockerfile for reth
* Add docker compose for prometheus
* Add some metrics
* Add p2p connection errors metric
* Add dependency caching for dockerfile
This reduces image build times by ~50% after the first one.
Uses cargo-chef inside the image.
More info in: https://morioh.com/p/987a2bda4526
* Add --metrics flag to docker-compose config file
* add Cargo.lock
* Move docker-compose.yml to docker directory
* Apply formatting
* Remove docker folder
* Remove .dockerignore file
* Add 'reth' prefix to metric names
* Add headers errors and request time metrics
* Modularize metrics exporter functionality and describe metrics
* Format files
* Add metrics documentation in metrics.md
* Fix metrics doc title
* Commit changes after rebase
* Solve conflict
* Modularize metrics describers
* Add stages_metrics_describer
* Rearrange header error metrics
* Add update_headers_metrics function
* Add one-line docs to describers
* Remove commented line
* Refactor metrics describer
* Update metrics doc
* Fix import
* Add header metrics struct
* add new metrics format in the headers execute method
* Add default implementation for HeaderMetrics
* Fix typo
* Fix another typo
* Fix more typos
* Move new HeaderMetrics meathod to default
* Solve conflicts
* Fix test
Co-authored-by: Tomás <tomas.gruner@lambdaclass.com >
2022-12-22 15:45:57 +01:00
Roman Krasiuk
a85793cd9b
feat(rpc): basic engine api ( #551 )
...
* feat(rpc): engine api
* change transition config exchange
* payload block construction
* pull out engine api logic
* linter
* clippy
* clippy
* Apply suggestions from code review
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
* import & map_err for RecvError
* move result
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-22 12:38:28 +01:00
Matthias Seitz
f3c79ff61c
chore(deps): bump rustversion ( #553 )
2022-12-21 12:03:09 +02:00
Dan Cline
aab385c84a
feat(eth-wire): RLP encode then compress ( #535 )
2022-12-20 14:33:47 +02:00
Matthias Seitz
3df86187d1
chore(deps): remove discv5 fork dep ( #536 )
...
* chore(deps): remove discv5 fork dep
* bump deps
2022-12-20 12:13:51 +01:00
Roman Krasiuk
0995ac2777
meta(sync): tracing ( #455 )
...
* meta(sync): tracing
* Apply suggestions from code review
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
* apply comments
* upd discv5 dep
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2022-12-20 03:00:59 -08:00
Dan Cline
fc11443b97
feat(net): create enr to peerid helper ( #533 )
...
* set network enr dev-dep to 0.7.0 instead of git - ethers and each
other crate uses 0.7.0 and not git
2022-12-19 18:32:19 -05:00
Bjerg
13bb41517d
feat: config ( #496 )
...
* feat: default reth dirs
* docs: clarify txpool config docs
* feat: `serde` feature for `reth-consensus`
* feat: add missing hardforks
* feat: full chain specification
* feat: `DbPath` type
* feat: custom chain specs
* feat: `--debug.tip` option
* feat: basic stage config
* fix: resize db geometry
* refactor: don't commit in headers stage
* chore: remove headers dl timeout
* feat: loading of config
* refactor(config): `stage` -> `stages`
2022-12-19 21:27:26 +01:00
Matthias Seitz
516d744bdd
test: run geth tests in serial ( #527 )
2022-12-19 19:12:14 +01:00