Giulio rebuffo
e1dedf4220
Added Finalty/Optimistic requests ( #5688 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-10 15:58:31 +02:00
Giulio rebuffo
6193d02543
fixed no handlers responses (MetadataV1/MetadataV2) ( #5679 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-09 20:28:49 +02:00
Giulio rebuffo
b8d7219d9d
refactored streaming with protobuffers ( #5677 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-09 17:49:27 +02:00
Giulio rebuffo
a8338e4dd2
Infra refactoring ( #5673 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-09 13:41:15 +02:00
Giulio rebuffo
067ad9a59b
Licensing new files in cmd/lightclient ( #5672 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-08 16:15:44 +02:00
Giulio rebuffo
e36b1206f7
Resolve panic on ctx.done when using --experimental.lightclient ( #5670 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-08 15:07:04 +02:00
Giulio rebuffo
5493ce864d
Removed code duplications for ping handlers ( #5668 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-08 01:02:56 +02:00
Giulio rebuffo
7c7400512e
Fixed Ping Req/Resp ( #5665 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-07 22:37:08 +02:00
Enrique Jose Avila Asapche
ff2e763a98
fixed disconnecting and now nimbus happy with us ( #5662 )
...
Added no disconnecting with metadata requests, and we answer now with a
bogus status call and proper prefix for both status and metadata
request. This changes allows for nimbus nodes to connect to us and
actually stay connected.
2022-10-07 18:40:18 +02:00
Giulio rebuffo
bbc85efb4f
Fixed Encoding of requests + Added unit tests ( #5658 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-07 14:38:12 +02:00
Enrique Jose Avila Asapche
6a55337266
Metadata resp ( #5634 )
...
Now we are sending correct metadata responses
We disconnect from peer no matter if we fail to respond to them once we
receive a goodbye message
We close all writers once we are done writing to signal our peer
2022-10-06 22:53:24 +02:00
Giulio rebuffo
ebe63cfa30
Added tests for config functions and further refactoring ( #5646 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-06 18:23:46 +02:00
Enrique Jose Avila Asapche
d566d4af09
leaving reqresp stream open ( #5636 )
...
We were closing our reqresp stream, which caused the peers to disconnect
from us.
2022-10-06 16:16:02 +01:00
Giulio rebuffo
20fded8b33
Removing useless and rendundant code from cmd/lightclient ( #5643 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-06 14:34:39 +02:00
Giulio rebuffo
2fd96a0b1c
[Experimental] GRPC Prototype with --experimental.lightclient to have Erigon listen on ConsenSUS gossip. ( #5590 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-06 11:01:56 +02:00
a
25a7cb38ef
[light client] gossip propogation ( #5591 )
...
* refactor gossip handler once again
* write packet
* comment
* make linter happy
* remove functional handler
* add codecstring as config parameter
* copy in dependency
* remove merge header
* pass lint
Co-authored-by: a <a@a.a>
2022-10-04 22:03:30 +02:00
Enrique Jose Avila Asapche
0e2190f5d1
better retry ( #5605 )
2022-10-03 20:38:21 +02:00
Enrique Jose Avila Asapche
f2d95d16cc
Adding light client requesting ( #5580 )
...
* separated the encoding
* picking random peer node
* sending ping request
* updated enconding and reading
* requesting ping interval and more verbose vars
* disconnecting from unresponsive peers
* penalizing instead of disconnecting for irresponsiveness
* closing stream for streamCodec
* solved meged issues
* changed back
* separated const values
* requesting ping interval to 1 sec
* added closing of read and write stream && receiving responses!
* fixecd typo
* general sending request function
* added constants of resqresp topics
* fixed uncorrect name
* refactored sending requests
* added todo
* little detail
* moved to main
* no need to sleep
* sending request retries until timeout
* type
* lint
2022-10-03 11:05:59 +02:00
Giulio rebuffo
90bae9a4df
modularized pubsub ( #5585 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-10-01 02:34:11 +02:00
Enrique Jose Avila Asapche
3aea208cd4
closing streams ( #5583 )
...
* closing streams
* done master
2022-10-01 00:25:17 +02:00
Giulio rebuffo
59df60a2c1
Added proper Message Id for Consensus Gossip subscription ( #5584 )
...
* first prototype
* Added Proper Message ID to gossip
* ops
* ops
* lint why?
* u kidding?
* just why
* maybe
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-30 23:53:54 +02:00
a
2e91e05716
[lightclient] basic gossip handler ( #5573 )
...
* cleanup
* w
* remove connection timeout
* fix
* update packet
* remove pprof
Co-authored-by: a <a@a.a>
2022-09-30 21:49:45 +02:00
Giulio rebuffo
5a7aaeb8fe
Better memory management when peering ( #5582 )
...
* better memory management with peers
* better memory management with peers
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-30 20:21:48 +02:00
Giulio rebuffo
98ceb7cc9c
separation of handlers ( #5581 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-30 19:07:13 +02:00
Giulio rebuffo
3f1d5a4c92
Support for Goerli/Sepolia/Mainnet Fork ids on Consensus Layer ( #5575 )
...
* added proper chain config
* updated configs
* save progress
* fix lint
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-30 00:20:09 +02:00
a
9f6fd488d2
[cl lightclient] - packet decoding & ssz code generation ( #5558 )
...
* added subscription to gossip
* added all handlers with logs
* disconnecting from peers with goodbye message received
* added time out for stream
* wip
* Remove unused
* remove extra structs
* status handler
* minor clean up
* add structs for altair light client
* begin writing out altair light client sync protocol to figure out what other structs are needed
* remove sszgen
* cleanup pt 1
* cleanup pt 2
* remove go 1.19 function
* less ambigious variable name
* run go fmt
* rename snappy_ssz to ssz_snappy to better align with wire name
* move more structs over
* poof set deadline
Co-authored-by: Enrique Jose Avila Asapche <eavilaasapche@gmail.com>
Co-authored-by: a <a@a.a>
2022-09-29 19:07:57 +02:00
Enrique Jose Avila Asapche
93add6cacf
Gossip subscription ( #5567 )
...
* added subscription to topics
* keeping track of topic subscription
* subscribing to beaconBlock
* listening to messages
* ops
* not processing our own messages
* ops
2022-09-29 13:39:42 +02:00
Giulio rebuffo
f9c9ee5d07
Made handlers disconnection better. ( #5556 )
...
* made handlers a bit better
* made handlers a bit better
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-28 13:39:55 +02:00
Alex Sharov
e4ad73bcb4
erigon3: agg to use workers for compress and merge ( #5561 )
2022-09-28 13:05:26 +07:00
Enrique Jose Avila Asapche
123d7379cc
Gossip lightclient ( #5549 )
...
* added subscription to gossip
* added all handlers with logs
* disconnecting from peers with goodbye message received
* added time out for stream
2022-09-27 22:34:06 +02:00
Giulio rebuffo
b47b13c1ff
added handler for ping p2p method ( #5530 )
...
* added handlers
* updated mod and sum
* ops
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-26 22:34:31 +02:00
Giulio rebuffo
6d6e511b0f
added ENR setup for subnets ( #5511 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-25 22:41:51 +02:00
Giulio rebuffo
e4362cce1c
licensed lightclient ( #5509 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-25 21:01:39 +02:00
Enrique Jose Avila Asapche
abfa374165
LightClient P2P refactoring ( #5507 )
...
* separated convertions into utils.go
* added log to bad peers
* more verbose errors and names
* warn when banning bad peer
* has and get in function name
* space
* lint
* ops
* little rename
* deleted unused func
* revert
2022-09-25 20:39:09 +02:00
Giulio rebuffo
b940eae2e0
lightclient actually gets peers lol ( #5502 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-25 02:14:10 +02:00
Giulio rebuffo
0fb982bfeb
Added p2p connection and libp2p host to Erigon Lightclient ( #5500 )
...
* added p2p connection and libp2p host
* added p2p connection and libp2p host
* oooops
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-24 20:48:56 +02:00
Giulio rebuffo
71112c1aae
Added discovery and connection to consensus layer bootnodes ( #5497 )
...
* added peer discovery functionality
* added discovery and connection to consensus layer bootnodes
* lint
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-24 16:44:34 +02:00
Giulio rebuffo
622d355f5a
first commit ( #5493 )
...
Co-authored-by: giuliorebuffo <giuliorebuffo@system76-pc.localdomain>
2022-09-24 01:53:27 +02:00