Eric Mastro
acd03ff831
feat: reorg project to add nimble build system
...
Project has been updated to use nimble as a build system. All required dependencies have been added.
All nim-eth mirrored files were added to a private folder in the libp2pdht module. A libp2pdht/discv5 module was added to alias the nim-eth modules (which will change over time).
Test have been updated to use status-im/asynctest. This PR uses a branch of asynctest that supports async suite before/after. This seemed like the only the tests would work without throwing gcsafe errors.
All tests working.
2022-02-25 09:10:43 +11:00
Eric Mastro
617a98bd01
Initial commit with nimble initialised repo
...
# Conflicts:
# README.md
2022-02-25 09:10:43 +11:00
Csaba Kiraly
f530a24a25
moving all RLP enoding from messages to messages_encoding
2022-02-24 12:39:17 +01:00
Csaba Kiraly
aca6febd34
fixup: fix trace message
2022-02-24 12:36:29 +01:00
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