Matthias Seitz
c2ad7b1b06
chore(disc): unify duration settings and naming ( #539 )
2022-12-20 13:35:22 +01:00
Dan Cline
c53b2bcccb
feat(net): use NodeRecord instead of enode format ( #530 )
...
* feat(eth-wire): add timeouts to tests using Geth
* feat(net): use NodeRecord instead of enode format
* make NodeRecord::new pub instead of pub(crate)
Co-authored-by: Matthias Seitz <matthias.seitz@outlook.de >
2022-12-19 17:57:02 -05:00
Matthias Seitz
f8b719e04c
refactor(disc): use KBucekt entry API ( #518 )
...
* refactor(disc): use entry API
* refactor(disc): cleanup
* chore: rustfmt
2022-12-19 16:54:03 +01:00
Matthias Seitz
bffc829bcb
perf(net): increase udp channel buffers ( #508 )
...
* perf(net): increase channel buffers
* Update crates/net/discv4/src/config.rs
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
Co-authored-by: Bjerg <onbjerg@users.noreply.github.com >
2022-12-18 15:22:19 +01:00
Dan Cline
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
Matthias Seitz
43f6bb9127
feat(net): integrate discovery banlist ( #442 )
...
* feat(net): integrate discovery banlist
* fix typos
2022-12-14 19:47:11 +02:00
Bjerg
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
Matthias Seitz
cbbdac2701
chore(disc): log channel errors ( #428 )
2022-12-14 09:06:16 +01:00
Matthias Seitz
10d960c5d6
refactor(disc): use discv4 as log target ( #423 )
2022-12-13 21:56:20 +01:00
Matthias Seitz
02be8121e0
fix(disc): also emit discovered node when buckets are full ( #414 )
2022-12-13 19:53:53 +02:00
Matthias Seitz
95d99c4317
chore(disc): update discv5 and tracing ( #408 )
...
* chore(disc): update discv5 and tracing
* ignore
2022-12-13 19:12:59 +02:00
Matthias Seitz
da5545157a
feat(disc): support discport query and add display impl ( #385 )
...
* feat(disc): support discport query and add display impl
* chore: rustfmt
2022-12-12 01:08:32 +01:00
Matthias Seitz
f65969e90f
perf(net): exclude bootnodes from update stream ( #319 )
2022-12-06 18:02:04 -08:00
Matthias Seitz
1668313d55
perf(disc): instantly lookup self in DHT ( #314 )
...
* perf(disc): instantly lookup self in DHT
* Update crates/net/discv4/src/lib.rs
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
Co-authored-by: Georgios Konstantopoulos <me@gakonst.com >
2022-12-06 18:02:04 -08:00
Matthias Seitz
12212ec91a
fix(disc): set trace target correctly ( #315 )
2022-12-06 18:02:04 -08:00
Matthias Seitz
d6a11c7f48
chore(deps): bump ethers + ethereum types + revm ( #228 )
...
* chore(deps): bump ethers + ethereum types
* bump revm
* chore(clippy): make clippy happy
2022-11-23 11:54:54 +01:00
Dan Cline
f1e6639374
feat(net): authenticate sessions ( #178 )
...
* Switch stream type of ActiveSession to EthStream
* Start `StatusBuilder` for initializing the `Status` message required
for the handshake
* Add `Hardfork` for `Status` default forkid
* Add `MAINNET_GENESIS` constant
* finish `StatusBuilder`
* initialize eth streams in session
* add status, hello, and fork filter to session manager
* fix status builder example
* add status and hello to network config
* will probably remove
* removing status and hello from networkconfig
* move forkid to primitives
* change imports for forkid
* add hardfork to primitives
* remove hardfork and forkid from eth-wire
* fix remaining eth-wire forkid references
* put mainnet genesis in constants, remove NodeId
* replace NodeId with PeerId
* the only NodeId remaining is inherited from enr
* PeerId still needs to be documented
* also run cargo fmt
* replace loop with iter().any()
* ignore missing docs for hardforks
* use correct PeerId for Discv4::bind example test
* document PeerId as secp256k1 public key
* cargo fmt
* temporarily allow too_many_arguments
* the authenticate and start_pending_incoming_session methods have many
arguments, we can reconsider the lint or fix the methods at a later
point
2022-11-14 12:03:05 -05:00
Matthias Seitz
b7cdfbf4f9
feat(net): network scaffolding ( #110 )
...
* feat(net): network scaffolding
2022-11-07 09:27:08 +01:00
rakita
ac2f3fcd8a
feat: Consensus crate and verification functions. ( #152 )
...
* wip executor
* wip
* Cleanup added some checks and structure to executor
* adding additional block/header checks
* add basefee calculation and check
* some cleanup
* Sanity check test
* Test for sanity check
* move verification to consensus crate
* cleanup
* Better Error handling
2022-11-02 12:59:51 +01:00
Matthias Seitz
6c0e2753dd
test: add mock discovery testing ( #139 )
2022-10-26 14:33:13 +02:00
Matthias Seitz
ce64fefd78
feat(net): add discv4 crate ( #113 )
...
* port kad
* feat: port kad bucket
* feat: add discv4
* chore: rustfmt
* cargo update
* just reuse discv5 table
* test: add rlp tests
* message encoding
* feat: impl codec roundtrip testing
* more work in message handling
* implement ping
* feat: impl commands
* cleanup
* more cleanup
* trim config
* more docs
* feat: implement recursive lookup
* docs
* cleanup config
* feat: implement update stream
* chore: config cleanup
* docs: add crate docs
* feat: more testing
* fix deny
* clarify ring
* docs: more docs
* use discv5 master
* docs: address review and add comments
* update readme
* rustmft
* chore(clippy): make clippy happy
2022-10-25 14:23:24 +02:00