Commit Graph

34 Commits

Author SHA1 Message Date
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