32 Commits

Author SHA1 Message Date
kdeme
0d63ff4db4 (Quick)fix hashing for handshakes by adding Ports + tests 2020-02-29 14:16:27 +01:00
kdeme
6b01ada194 Add address to handshakes key 2020-02-29 14:16:27 +01:00
kdeme
1fab56f894 Introduce more constants and type aliases 2020-02-29 14:16:27 +01:00
kdeme
ad99b96e12 Drop additional handshakes with same nodeid and add timeout on handshakes 2020-02-29 14:09:12 +01:00
kdeme
fc844347a4 Don't send Whoareyou on handshake failure 2020-02-29 14:09:12 +01:00
kdeme
f81a87f31b Add lookupLoop and other fixes
- add lookupLoop
- protocol close / closeWait
- randomize randomNodes
- Use lookupRequestLimit
- Remove invalid check in neighbours proc
- Add lookup test
2020-02-29 14:00:58 +01:00
Zahary Karadjov
e89e59aa59
enterList now returns a bool 2020-02-27 20:09:05 +02:00
Zahary Karadjov
74d0247e6b
Tweak some retry limits and timeouts 2020-02-22 20:49:14 +02:00
Zahary Karadjov
1369cf3a30 [discv5] Allow specifying the advertised IP address; Code style improvements 2020-02-22 02:24:33 +02:00
kdeme
5aebab3f41 Fix duplicates in returned values of a lookup 2020-02-20 15:09:31 +02:00
kdeme
3dd26e8526 Attempt to further add the discv5 wire test vectors 2020-02-20 15:09:31 +02:00
Zahary Karadjov
cfdb26db40
[discv5] Advertise the LibP2P TCP port properly 2020-02-18 01:07:23 +02:00
Zahary Karadjov
cca931d0b5
Reduce the use of the general Exception type and improve the exception tarcking in protocol.receive 2020-02-18 00:47:13 +02:00
kdeme
79dfe88ec8 Add Packet encodings tests 2020-02-17 22:38:56 +02:00
kdeme
5daaf73d2e Clean up logging and some exception handling 2020-02-17 22:38:56 +02:00
kdeme
bb6a3c2ce1 Add basic node discovery test 2020-02-17 22:38:56 +02:00
Zahary Karadjov
31a4e8f959
Fix one more usage of the old-style IP-as-number handling in ENR 2020-02-12 15:36:39 +02:00
Zahary Karadjov
7b18d6e642 Oops, copying and pasting code is evil 2020-02-12 11:58:14 +02:00
Zahary Karadjov
9908e84935 Use the new enr.Record constructor 2020-02-12 11:58:14 +02:00
Zahary Karadjov
a1a6862c7c More spec compliant ENR
* Don't use signed integers in RLP
* Don't store IP addresses as var-sized ints (use fixed-sized blobs instead)
* Allow constructing ENR from ENode.Address
2020-02-12 11:58:14 +02:00
Zahary Karadjov
7e836a2c96 Fix a logical typo 2020-02-06 16:32:00 +01:00
Zahary Karadjov
81e0ae12b0 Allow starting the discovery v5 bootstrap process without ENR records 2020-02-06 16:32:00 +01:00
Yuriy Glukhov
3527d47cb5 Added packet encoding tests 2020-01-08 17:22:43 +02:00
Yuriy Glukhov
129710d3e4 Liveness checks 2020-01-08 17:22:43 +02:00
Yuriy Glukhov
5795054dbf Per @kdeme's comments. Limit ENR size, fix rlp len check 2020-01-08 17:22:43 +02:00
Yuriy Glukhov
9772fbe470 Use addresses instead of stubs as db keys 2020-01-08 17:22:43 +02:00
Zahary Karadjov
988d743c9a Introduce enr.TypedRecord that can replace enr.Record in the future 2020-01-08 17:22:43 +02:00
Zahary Karadjov
39857d57f0 Fix build issues manifesting in our controlled build environment 2020-01-08 17:22:43 +02:00
Zahary Karadjov
54bb1adac9 Export some private APIs needed in nim-beacon-node 2020-01-08 17:22:43 +02:00
Yuriy Glukhov
eda6c2906c Discv5 WIP 2020-01-08 17:22:43 +02:00
Zahary Karadjov
edd674662a Handle missing keys in enr.Record.get() 2020-01-08 17:22:43 +02:00
Yuriy Glukhov
992aeecd29 ENR parsing and serialization 2020-01-08 17:22:43 +02:00