Commit Graph

562 Commits

Author SHA1 Message Date
0b9ceb9efb feat: misc config files (#765) 2023-01-08 13:30:28 +02:00
da59ead58d fix(net): use mapped v4 when inserting records (#761) 2023-01-07 13:36:13 +01:00
acb0753812 chore(deps): remove unused ether-core (#760) 2023-01-07 12:12:48 +02:00
ca3372909a feat(cli): add more convenient SocketAddr argument parsing (#757) 2023-01-07 02:28:07 +02:00
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
1d2e0526a8 fix(disc): convert mapped ipv6 address (#754) 2023-01-06 18:26:40 +02:00
09bb2d9149 fix(disc): use remote addr for NodeRecord on ping (#753) 2023-01-06 17:48:55 +02:00
929cde46c4 unwind tracing (#750) 2023-01-06 16:39:54 +02:00
059c33dd03 Fix: typos (#749)
Fix: typos
2023-01-06 14:07:18 +01:00
f359992dc3 feat(disc): add another self entry check (#748) 2023-01-06 14:43:29 +02:00
1b5bc5e1f7 Rotate peers when fetching (#743) 2023-01-06 12:21:42 +01:00
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
a94560fc5d fix(disc): use lookup target for distance (#742) 2023-01-06 09:41:09 +02:00
ade1ea4216 refactor: clean up StateFetcher::next_peer (#738)
* refactor: clean up `StateFetcher::next_peer`

The `&mut Peer` is unused, so we do not need to
return it.

* chore: idiomatic rust
2023-01-05 23:38:31 +01:00
ee8b0efed6 fix: apply correct reputation dmg on bad msg (#739) 2023-01-05 23:20:34 +01:00
6cf5427af3 style(discv4): use event buffer (#737) 2023-01-05 17:50:09 +01:00
f924880d5d perf(disc): only initiate another auto lookup when previous finished (#733) 2023-01-05 17:46:18 +02:00
8c96704ffe chore(deps): rm unused (#734) 2023-01-05 16:44:31 +01:00
99c7ba1920 ci: don't add PRs to project (#735) 2023-01-05 17:44:13 +02:00
56cc999c5e fix(disc): mark node as queried before ping (#731) 2023-01-05 17:38:57 +02:00
140791c901 build: add dockerfile (#688)
* add dockerfile

* add dockerfile

* using alpine as release image
2023-01-05 16:10:31 +01:00
babf73612f feat(net): add granular backoff durations (#729)
* feat(net): add granular backoff durations

* update backoff durations
2023-01-05 14:09:38 +02:00
fe5e3bd0c8 feat(node): allow config'ing trusted nodes from cli (#728) 2023-01-05 11:54:25 +02:00
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
528c19f079 fix vec of type with buf (#727) 2023-01-04 23:48:10 -08:00
e069248e78 feat: Stage Tool Execution Stage (#723)
* feat(stage-tool): exec stage

* fix(stage-tool): commit for the full range

* feat: skip unwinding
2023-01-04 23:40:24 +02:00
5c88f25ef3 ci: add project workflow (#720)
* ci: add project workflow

* ci: rename secret
2023-01-04 22:22:17 +01:00
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
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
28f67b371d feat(download): dynamically adjust body request (#718)
* feat(download): dynamically adjust body request

* add tests

* Update crates/net/downloaders/src/bodies/concurrent.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

* add comment

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2023-01-04 11:08:28 -08:00
ec88f1deef feat(sync): standardize stage control flow checks (#681)
* feat(sync): standardize stage control flow checks

* fix input parameter for test_eth_chain

* clean up & put behind macro

* Update crates/stages/src/stage.rs

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>

* address comments

Co-authored-by: Bjerg <onbjerg@users.noreply.github.com>
2023-01-04 11:03:36 -08:00
8c413ad0a9 trace(download): failed requests (#715) 2023-01-04 19:55:59 +01:00
9d6be78f4b chore: Box<dyn Error> -> StageError (#721)
* chore(stages): replace Box<dyn Error> with StageError

* chore: fix tests

* chore: fmt
2023-01-04 20:45:35 +02:00
19f4132eb4 chore: fix typo in book (#719)
* Rename matrics -> metrics

* Rephrase some cmd-line option descriptions
2023-01-04 20:30:34 +02:00
5a58554596 test: add debug test for getting headers (#713) 2023-01-04 16:07:23 +01:00
42f3245a11 feat(net): penalize peers that send same transactions (#712) 2023-01-04 15:56:40 +02:00
5933014fba test(net): more txpool testing support for network (#711) 2023-01-04 14:36:51 +02:00
6f3eb42d32 feat(net): ignore transactions during sync (#705) 2023-01-04 13:06:12 +02:00
c60495df7e feat(sync): update sync state within pipeline (#697)
* feat(sync): update sync state within pipeline

* address pr comments

* fix comment
2023-01-04 11:25:40 +02:00
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
93b6ce597a test(chain): add shanghai forkspecs (#700) 2023-01-03 17:33:55 +01:00
3a67809cb7 test: test ack encoding (#699) 2023-01-03 18:09:00 +02:00
13f143d06d feat(disc): add set_lookup_interval function (#696) 2023-01-03 16:53:52 +01:00
db4f0befee fix: bump request timeout (#695) 2023-01-03 16:12:05 +02:00
6311915ead chore: move metrics dep to dev-dep (#694) 2023-01-03 16:11:51 +02:00
65bc3cb7b8 RPC Admin namespace implementation (#685)
* AdminApi first draft

* Implement add_trusted_peer and remove_trusted_peer

* Fix tests

* Refactoring NetworkHandle peer related methods

* Refactoring add_discovered_node in PeersManager

* Change record type from String to NodeRecord

* Adding NetworkHandleMessage::RemovePeer command
2023-01-03 14:02:05 +01:00
debf21d34e feat: add SyncState traits (#693)
* feat: add SyncState traits

* docs: clarify execution stage
2023-01-03 14:56:50 +02:00
c7dc22fd41 fix: remove BlockExecutor default impl 2023-01-03 13:24:06 +01:00
a7f8d4fc39 feat(download): body downloader tracing (#691)
* feat(download): body downloader tracing

* rm unused import

* add request & response len
2023-01-03 13:28:56 +02:00
346d50ebf4 feat: test trusted peers functionality (#687)
* Add test for trusted_peer prioritization

* Add test for connect_trusted_nodes_only flag
2023-01-02 18:36:50 +01:00