107 Commits

Author SHA1 Message Date
Csaba Kiraly
23733c13c8
remove some debug output 2023-05-11 01:23:06 +02:00
Csaba Kiraly
3e0c2839b5
add recvFrom to fake DatagramTransport
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 22:12:56 +02:00
Csaba Kiraly
cd1303f6c0
rename callback
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 22:12:30 +02:00
Csaba Kiraly
5e0cdd1452
remove some echo lines
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 22:12:09 +02:00
Csaba Kiraly
8b24458066
fixup: move sendRequest forward
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 21:38:57 +02:00
Csaba Kiraly
349127f657
add on/off for network emulator
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 21:33:23 +02:00
Csaba Kiraly
eb08cbfc07
introduce waitResponse wrapper
initialize wait for response before sending request.
This is needed in cases where the response arrives before
moving to the next instruction, such as a directly connected
test.

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 21:31:18 +02:00
Csaba Kiraly
70c2d28b89
use 127.0.0.1 for these tests
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 16:13:42 +02:00
Csaba Kiraly
fd317a55cb
add simple send functionality
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 16:12:33 +02:00
Csaba Kiraly
6109cbae80
index by port
0.0.0.0 vs. 127.0.0.1 creates various issues
As a start, we can index by port only

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 16:11:22 +02:00
Csaba Kiraly
20ff87b42f
simplify code changes
no need to name it different, we can override DatagramTransport

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 16:10:23 +02:00
Csaba Kiraly
dcdef89401
make it compile with gcsafe
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 14:00:40 +02:00
Csaba Kiraly
2eef69f3e7
try to add global registry of endpoints
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 13:47:49 +02:00
Csaba Kiraly
e8b019b591
store TransportAddress
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 13:46:42 +02:00
Csaba Kiraly
b1957f4b60
Fake DatagramTransport: first compile
Override Chronos DatagramTransport with a fake one

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 11:53:17 +02:00
Csaba Kiraly
7956898882
change revalidateLoop to use [RevalidateMax/2, RevalidateMax]
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 11:50:52 +02:00
Csaba Kiraly
ab7edc0247
add 10ms of delay between node initializations
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 10:20:07 +02:00
Csaba Kiraly
4b49586f1e
improve tracing of message exchange
run e.g. as
```
nim c -r -d:debug -d:chronicles_enabled=on -d:chronicles_log_level=TRACE -d:chronicles_sinks=textlines[nocolors,stdout] tests/dht/test_providers.nim >err
```

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 10:19:37 +02:00
Csaba Kiraly
591b270dc3
log routing table size periodically 2023-05-10 00:46:45 +02:00
Csaba Kiraly
a3092dfde3
wait more to have better logs
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 00:46:23 +02:00
Csaba Kiraly
3b71e50443
increase node count to 1000
Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 00:46:08 +02:00
Csaba Kiraly
a86a5d6cac
warn and skip test nodes on busy ports
TODO: We might want to still generate the right amount

Signed-off-by: Csaba Kiraly <csaba.kiraly@gmail.com>
2023-05-10 00:45:50 +02:00
Dmitriy Ryajov
4375b92298
use datastore has (#56) 2022-12-02 16:47:16 -06:00
Dmitriy Ryajov
e4e7a3e11f
track nim-libp2p's unstable branch and nim-bearssl's master branch (#51)
* track nim-libp2p's unstable branch and nim-bearssl's master branch

refactor accordingly: mainly switching from `import bearssl` to
`import bearssl/rand`, `BrHmacDrbgContext` to `HmacDrbgContext`, and related
changes

* fix ambiguous identifier

* nim 1.4 is deprecated

Co-authored-by: Michael Bradley, Jr <michaelsbradleyjr@gmail.com>
2022-11-02 10:21:05 -06:00
Dmitriy Ryajov
d6d255b4b5
Cleanups (#55)
* limit query to batchSize

* allow initializing node from ip and port

* misc cleanups
2022-10-31 22:41:33 -06:00
Dmitriy Ryajov
08928e57d8
Remove local providers (#53)
* refactor to use batch deletes

* add ability to remove local providers
2022-10-03 15:14:47 -06:00
Dmitriy Ryajov
4b9fa0356e
Adding maintenance routines to cleanup expired and orphaned records (#52)
* add maintenance routines and split out cache

* start provider manager

* export provider manager

* add maintenance tests

* start is now async
2022-10-01 10:05:03 -06:00
Dmitriy Ryajov
69ae7c2012
Persist providers (#49)
* initial providers manager implementation

* misc license update

* spelling

* rename provider tests

* add provider tests

* reexport provider manager

* only update provider record if it changed

* small bug in getProvByKey

* pass providers to both constructors

* fix records retrieval

* disable cache during tests

* avoid redefining data

* adding back tests with cache

* use `.errorOption`

* proper err msg unpacking
2022-09-29 17:49:55 -06:00
Dmitriy Ryajov
bbcfb9f17b
Merge pull request #50 from status-im/revert-47-nim-libp2p-unstable
Revert "track nim-libp2p's unstable branch and nim-bearssl's master branch"
2022-09-23 18:18:48 -04:00
Dmitriy Ryajov
9dfa86767d Revert "track nim-libp2p's unstable branch and nim-bearssl's master branch"
This reverts commit c480fb573242ab13fab57446aeece90eaabbe104.
2022-09-23 15:59:31 -06:00
Michael Bradley, Jr
c480fb5732 track nim-libp2p's unstable branch and nim-bearssl's master branch
refactor accordingly: mainly switching from `import bearssl` to
`import bearssl/rand`, `BrHmacDrbgContext` to `HmacDrbgContext`, and related
changes
2022-09-19 20:05:34 -05:00
Dmitriy Ryajov
39c0ffc970
Merge pull request #46 from status-im/chronicles-format
add formating for SignedPeerRecord
2022-09-13 14:26:02 -04:00
Dmitriy Ryajov
7c259731a4
add formating for SignedPeerRecord
needs to move to libp2
2022-09-13 12:01:36 -06:00
Dmitriy Ryajov
94b75f141c
Merge pull request #44 from status-im/providers-lru
Providers lru
2022-09-12 23:34:02 -04:00
Dmitriy Ryajov
f5afe784c5
prevent npe when table is 0 2022-09-12 21:08:55 -06:00
Dmitriy Ryajov
f84bc647ce
don't touch the cache when checking for id 2022-09-12 21:08:26 -06:00
Dmitriy Ryajov
23e20a2f1c
bad merge 2022-09-12 18:41:44 -06:00
Dmitriy Ryajov
fca255b2f7
use pure enums 2022-09-12 18:06:48 -06:00
Dmitriy Ryajov
c646b9c2b9
providers LRU - avoid unchecked growth 2022-09-12 18:06:46 -06:00
Dmitriy Ryajov
e801660b44
Merge pull request #38 from status-im/fixes-for-integration
Fixes for dagger integration
2022-09-12 19:44:28 -04:00
Dmitriy Ryajov
3be2c8445c
suppress logging noise 2022-09-12 17:13:34 -06:00
Dmitriy Ryajov
1cbe8c12a6
suppress logging noise 2022-09-12 17:13:34 -06:00
Dmitriy Ryajov
2d93fa9e69
fix updateRecord
- support incrementing seqNo
- support updating with new record
2022-09-12 17:13:34 -06:00
Tanguy
d90f0a03b9
Fixes for json logs 2022-09-12 17:13:33 -06:00
Tanguy
bde7a26f9d
Fixes for integration 2022-09-12 17:13:33 -06:00
Dmitriy Ryajov
e8177aa7eb
Merge pull request #39 from yyoncho/main
Add setup files
2022-09-12 14:29:47 -04:00
Ivan Yonchovski
36a49cdac4 Add setup files 2022-07-12 15:45:53 +03:00
Tanguy
f824c0a3cd
Remove nim-eth dependency (#37) 2022-04-08 12:13:14 +02:00
Michael Bradley, Jr
faf5cad9d4 protobuf encoding for all message types 2022-04-07 14:47:35 -05:00
Eric Mastro
4c65f4bd94 chore: remove nim-eth/keys in favour of over to libp2p/crypto
Closes: #2.

Libp2p supports multiple cryptographic curves, however we have currently only implented support for secp256k1.

This needs to be run with the compiler flag `libp2p_pki_schemes` set to `secp256k1`. If running the tests, this can be run like so: `nimble test —libp2p_pki_schemes=secp256k1` to put secp as the first supported crypto scheme.
2022-04-07 14:11:48 -05:00