nim-libp2p
nim-libp2p copied to clipboard
libp2p implementation in Nim
The main blocker here is the TLS layer. We need a TLS library that supports QUIC, which requires, among other things TLS 1.3 BearSSL still doesn't support TLS 1.3 MbedTLS...
One of Nim strength is C compatibility, and with C compatibility comes compatibility with most other languages through FFI It would be great to create a C library out of...
Currently, the gossipsub meshes are formed kind of randomly. With that random strategy, the mean RTT in ethereum is about ~110ms. With 5 hops (10k nodes, D~=8), it mean that...
Flood publish: :white_check_mark: faster propagation of messages :white_check_mark: better sybil resistance (the first hop is the most fragile one) :cry: bandwidth usage (scales linearly with number of subbed connected peers)...
Currently, we support multiple topic per messages, which was never properly tested This has been removed upstream: https://github.com/libp2p/specs/pull/400/files So we should also remove it here
Currently, the GS.publish returns the amount of peers the data was sent to. This data is actually not useful, and when we return 0, the caller can't really know why...
cc @diegomrsantos Extracted from #911
also, maybe it would make sense to reorder this check with the closed on - ie a zero-write to a closed channel should still cause a closed exception _Originally posted...
Hi, I did some work on the `rust-yamux` implementation lately and when trying to integrate it with `rust-libp2p`, I ran into interop errors with `nim-libp2p`: https://github.com/libp2p/rust-libp2p/pull/3013 After some debugging and...
WebSocket upgrade has an issue, the "websocket upgrade" is actually happening during the "accept" call currently. This is bad, because it blocks the accept loop while we are upgrading a...