Zahary Karadjov
ee7c2c9dff
Unify the bootstrap nodes handling code
...
We no longer discriminate between ENR, MultiAddress or ENode
bootstrap records (all of them are remapped to ENodes).
The discovery loop will stochastically try to reconnect to
accidentally disconnected nodes.
2020-02-18 12:53:49 +02:00
Zahary Karadjov
589a3f06df
Fix an error introduced during rebasing
2020-01-21 01:26:57 +02:00
Zahary Karadjov
07d329acb8
Wire-up the peer dialing loop and introduce --max-peers option
2020-01-21 01:26:57 +02:00
Zahary Karadjov
52878405b7
Integrate Discovery V5 and support ENR bootstrap records
2020-01-21 01:26:57 +02:00
Ștefan Talpalaru
2f68ee0ffe
new libp2p API
2020-01-13 20:26:19 +01:00
Ștefan Talpalaru
5d1e20012a
import base58 from stew
2020-01-13 20:02:29 +01:00
Zahary Karadjov
98656377a3
Eliminate the code duplication in the LibP2P back-ends
2019-12-10 15:02:16 +02:00
Zahary Karadjov
889031453f
The beacon node can be compiled with the LibP2P native back-end
...
This hasn't been tested yet even in local sim.
2019-12-10 15:02:16 +02:00
Ștefan Talpalaru
7682a010a9
remove getCurrentExceptionMsg()
2019-12-02 22:06:42 +02:00
Zahary Karadjov
4c2ded25a6
Add detailed tracing for blocks by range requests
2019-11-26 02:45:25 +02:00
Jacek Sieka
14712bbbdc
random warning fixes
2019-11-15 12:05:18 +01:00
Yuriy Glukhov
9b39c792d0
Revert f79f9deeb3
a0fbf5464a
94a9c51d8a
( #523 )
2019-11-06 16:56:54 +02:00
cheatfate
94a9c51d8a
Initial commit.
2019-11-06 16:41:23 +02:00
Zahary Karadjov
021661180b
Use the latest nim-eth
2019-10-23 19:37:06 +03:00
Zahary Karadjov
1555efd9d8
Implement the latest modification of the spec
2019-09-27 19:10:37 +03:00
Zahary Karadjov
37043f0d91
Handle gracefully a pre-mature closing of a libp2p stream by another peer
2019-09-27 19:10:24 +03:00
Zahary Karadjov
b5fad0c9e8
Add more diagnostic for crashes during SSZ serialization
2019-09-27 19:07:22 +03:00
Zahary Karadjov
cdff79ec6d
More sync fixes
...
* Fix IncompleteData issues brought by the new spec-compliant stream closing
* Fix logic errors in the sync algorithms
2019-09-10 09:49:54 -04:00
Zahary Karadjov
886b92319f
Implement the response size limits
2019-09-10 09:49:54 -04:00
Zahary Karadjov
a83aa83644
Working BeaconSync
...
Changes:
* Do not send separate network packets for response codes and msg
len prefixes
* Close streams according to the spec
* Implement more timeouts according to the spec
* Make hello requests during syncing to update our knowledge of
the head block of the other peer.
2019-09-10 09:49:54 -04:00
Zahary Karadjov
9dec05f9c9
Sending chunked responses
2019-09-10 09:49:54 -04:00
Zahary Karadjov
b120a60493
Reading chunked responses
2019-09-10 09:49:54 -04:00
Zahary Karadjov
2bbfa8c877
Changes related to the new ETH interop spec
...
* Hello is no longer a handshake message
(all handshakes related code was deleted for clarity)
* Deal with the single-parameter inlining defined in the new spec
2019-09-10 09:49:54 -04:00
Zahary Karadjov
5ce50b3aca
Implement the latest networking spec
...
https://github.com/ethereum/eth2.0-specs/pull/1328
2019-08-07 05:22:28 +03:00
Jacek Sieka
b9e62a1f6c
std_shims -> stew
2019-07-07 11:53:58 +02:00
Zahary Karadjov
69f3095fac
Remove temp debugging code; Quit if you fail to connect to the network
2019-06-24 19:38:19 +03:00
Zahary Karadjov
31baa77742
Restore building with chronicles_sinks=json
2019-06-24 19:38:19 +03:00
Zahary Karadjov
0116bdaed7
temporary code to debug issues with the testnet bootstrap node
2019-06-24 19:38:19 +03:00
Zahary Karadjov
c751285112
Implement all libp2p_native response codes as specified in the latest proposal
2019-06-24 05:34:22 +03:00
Zahary Karadjov
84afb77b27
Restore compilation with libp2p_native after the latest changes in the spec back-end
2019-06-24 05:34:22 +03:00
Zahary Karadjov
e228c2dbcb
Implement the even/odd request ID scheme; Handle more edge cases; Break the cyclic imports
2019-06-24 05:34:22 +03:00
Zahary Karadjov
15fdf78d6a
[LibP2P] Persistent network key for the bootstrap node
2019-06-24 05:34:22 +03:00
Zahary Karadjov
12e9367f78
Improved error handling; Simple test case for connecting 2 peers
2019-06-24 05:34:22 +03:00
Zahary Karadjov
877b22cfb8
Share more code between the libp2p backends
2019-06-24 05:34:21 +03:00
Zahary Karadjov
87601a5eae
Share more code between the libp2p backends
2019-06-24 05:34:21 +03:00
Zahary Karadjov
3b166be166
Restore compilation in RLPx mode; More libp2p progress
2019-06-24 05:34:21 +03:00
Zahary Karadjov
e177d17762
Further simplifications
2019-06-24 05:34:21 +03:00
Zahary Karadjov
c060c0fc5d
Simplified the 'spec' back-end by movign more logic into the shared DSL module
2019-06-24 05:34:21 +03:00
Zahary Karadjov
ea4690d567
A new P2P backend implementing the libp2p networking according to the official spec
2019-06-24 05:34:21 +03:00
Zahary Karadjov
f4a96bc3f3
[WIP] Restore the Lib2P2 builds and implement the latest wire spec
...
Depends on https://github.com/status-im/nim-eth/pull/54
2019-06-24 05:34:21 +03:00
Zahary Karadjov
6bb38095c9
Command-line and data storage handling for testnets
2019-03-18 12:45:29 +02:00
Zahary Karadjov
903cb8a8b5
A LibP2P-based networking stack;
...
To enable it, comment out the 'withLibp2p' line in nim.cfg
The history was squashed in order to remove an accidentally
commited binary file.
Other changes:
* SSZ was adapted to use the common serialization framework
* gossibsup.subscribe is not using async handlers at the moment
and this allowed me to simplify it
2019-03-12 13:36:55 +02:00