|
206 | 206 | - [ ] Implement Kademlia algorithm. |
207 | 207 | - [x] Implement Kademlia FIND_NODE (client/server). |
208 | 208 | - [x] Implement Kademlia Bootstrap process. |
209 | | - - [ ] Update Kademlia routing table according to Identify protocol messages. |
| 209 | + - [x] Update Kademlia routing table according to Identify protocol messages. |
210 | 210 | - [ ] Per peer limit on incoming requests |
211 | 211 |
|
212 | 212 | ### RPC |
|
249 | 249 | - [ ] Mina RPC types testing (ideally along with OCaml codecs) |
250 | 250 | - [ ] hashing testing (ideally along with OCaml hash implementations) |
251 | 251 | - [ ] Connection |
252 | | - - [ ] Proper initial peers handling, like reconnecting if offline |
253 | | - - [ ] Peers number maintaining, including edge cases, when we have max peers but still allow peers to connect for e.g. discovery, that is dropping connection strategy |
254 | | - - [ ] Other connection constraints, like no duplicate connections to the same peer, peer_id, no self connections etc |
| 252 | + - [x] Proper initial peers handling, like reconnecting if offline |
| 253 | + - [x] Peers number maintaining, including edge cases, when we have max peers but still allow peers to connect for e.g. discovery, that is dropping connection strategy |
| 254 | + - [x] Other connection constraints, like no duplicate connections to the same peer, peer_id, no self connections etc |
255 | 255 | - [ ] Connection quality metrics |
| 256 | + - [x] Connects to OCaml node and vice versa |
256 | 257 | - [ ] Kademlia |
257 | | - - [ ] Peers discovery, according to Kademlia parameters (a new node gets 20 new peers) |
| 258 | + - [x] Peers discovery, according to Kademlia parameters (a new node gets 20 new peers) |
| 259 | + - [x] Bootstraps from OCaml node and vice versa |
258 | 260 | - [ ] Kademlia routing table is up-to-date with the network (each peer status, like connected/disconnected/can_connect/cant_connect, reflects actual peer state) |
259 | 261 | - [ ] Gossipsub |
260 | 262 | - [ ] Reacheability (all nodes get the message) |
261 | 263 | - [ ] Non-redundancy (minimal number of duplicating/unneeded messages) |
262 | 264 | - [ ] Interoperability with OCaml node |
263 | 265 | - [ ] Bootstrap Rust node from OCaml and vice versa |
264 | | - - [ ] Discovery using Rust node |
| 266 | + - [x] Discovery using Rust node |
265 | 267 | - [ ] Gossipsub relaying |
266 | 268 | - [ ] Public network tests. This should be the only set of tests that involve publicly available networks, and should be executed if we're sure we don't ruin them. |
267 | 269 | - [ ] Attack resistance testing |
|
0 commit comments