Commit Graph

132 Commits

Author SHA1 Message Date
Csaba Kiraly 7dd0ff1bb6 fixup: fix trace messages 2022-02-23 22:12:32 +01:00
Csaba Kiraly db4ccc8bee just reordering 2022-02-23 22:12:32 +01:00
Csaba Kiraly 6dcdaf6173 moving encode and decode to the same level 2022-02-23 22:12:32 +01:00
Csaba Kiraly 043f195e19 separating message structures and encoding 2022-02-23 22:12:32 +01:00
Csaba Kiraly b6943d3382 adding minimal readme 2022-02-23 22:12:32 +01:00
Csaba Kiraly e6cea68326 tests: give more time to bootstrap 2022-02-23 22:12:32 +01:00
Csaba Kiraly 0b301fdeae moving test under dht folder 2022-02-23 22:12:32 +01:00
Csaba Kiraly 811389c863 moving code under dht folder 2022-02-23 22:12:32 +01:00
Csaba Kiraly bef2b711e5 just a comment 2022-02-23 22:12:32 +01:00
Csaba Kiraly b118a34043 tests: make all tests work 2022-02-23 22:12:32 +01:00
Csaba Kiraly 77d93d71bd tests: generate PeerRecords from NodeId
this is just for the testing
2022-02-23 22:12:32 +01:00
Csaba Kiraly 54fde4e09e test fix: init nodes correctly 2022-02-23 22:12:32 +01:00
Csaba Kiraly 19792de3dc adding GetProviders support 2022-02-23 22:12:32 +01:00
Csaba Kiraly f78dafb798 add some trace messages 2022-02-23 22:12:32 +01:00
Csaba Kiraly 57a339d326 quick fix local lookup 2022-02-23 22:12:32 +01:00
Csaba Kiraly 31d99ad56e adding protobuf encoding 2022-02-23 22:12:32 +01:00
Csaba Kiraly af168a8a24 fixup 2022-02-23 22:12:32 +01:00
Csaba Kiraly be5d911cda partial tests (AddProvider) 2022-02-23 22:12:32 +01:00
Csaba Kiraly 43a27ed997 exposing ProvidersProtocol and underlying Discovery 2022-02-23 22:12:32 +01:00
Csaba Kiraly 86328cd17e adding base for test_discovery
based on discv4 version
2022-02-23 22:12:32 +01:00
Csaba Kiraly 722fbba547 adding addProvider messaging and calls 2022-02-23 22:12:32 +01:00
Csaba Kiraly ca3f634239 import eth/[rlp, keys, async_utils, net/utils] directly from eth 2022-02-23 22:11:27 +01:00
Csaba Kiraly f5d3a9f381 cleaning up imports and dependencies 2022-02-23 22:03:37 +01:00
Csaba Kiraly cdd5d6cd34 protocol: introduce sendResponse
This completes the Request/Response semantics.
2022-02-23 22:02:59 +01:00
Csaba Kiraly 70a06b5c44 rename protocol.sendMessage to sendRequest
This is a request part of a Request/Response, generating
also a reques ID. So call it what it is.
2022-02-23 22:02:51 +01:00
Csaba Kiraly d4af5b8a44 protocol.sendMessage: allow destination as (NodeId, Address) 2022-02-23 22:02:41 +01:00
Csaba Kiraly a7d8082fc7 transport.sendMessage: avoid passing address twice
Node already has the address, so it does not make sense to
pass it as a separate parameter.
2022-02-23 22:02:31 +01:00
Csaba Kiraly 8298acd410 attempt to clean up send proc names
- interface between Transport and Protocol is at the encoded Message
level
2022-02-23 21:59:01 +01:00
Csaba Kiraly b03d5eb3c7 fixup: fix imports in test_discoveryv5_encoding
Note that the test does not compile, but it was
also not compiling before

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-02-23 11:02:06 +01:00
Csaba Kiraly fd350b4fe5 splitting protocol in lower and upper half
Protocol was actually made of two sub-protocols.
  * a lower-half handling authentication, encryption,
key exchange, and request/response. This is now called
Transport.
  * an upper-half handling DHT messages. This is still
called Protocol.

Separation of these two reduces dependencies and simplifies
modifications to the protocol.
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2022-02-23 11:02:06 +01:00
Csaba Kiraly a33da803a5 move message encoding to separate file
Messages and message encoding has nothing
to do with the underlying authenticated
communications framework. Separate these
two.
2022-02-23 11:02:06 +01:00
Csaba Kiraly cfa97f4995 initial commit based on nim-eth@779d767b024175a51cf74c79ec7513301ebe2f46 2022-02-14 01:51:28 +01:00