statement store: Implement basic statement-store support#3127
Conversation
|
/cmd fmt |
alexggh
left a comment
There was a problem hiding this comment.
Had a pass, things are looking good to me. I put some comments, but nothing major.
One thing it is not clear to me is how do we want to test E2E, but that could be answered in followup PRs and issues.
dmitry-markin
left a comment
There was a problem hiding this comment.
Left some nits, but overall the approach looks good!
|
@alexggh @dmitry-markin There were many comments, so to avoid getting lost in them, I resolved the fixed or outdated ones and left some with my answers. I would greatly appreciate it if you could take another look. |
dmitry-markin
left a comment
There was a problem hiding this comment.
Everything looks good, but let's move the statement-chat folder to a dedicated repo before merging the PR.
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Co-authored-by: Dmitry Markin <dmitry@markin.tech>
| continue; | ||
| } | ||
|
|
||
| // TODO: not efficient on a big number of subscriptions |
There was a problem hiding this comment.
nit: a brief description of the current complexity would be nice (you can copy from the original comment).
|
@AndreiEres let's get this merged if you are happy. |
Summary: - Based on https://github.com/bkchr/smoldot/tree/bkchr-battleship - Implements the Statement Store networking protocol for peer-to-peer statement distribution - Adds JSON-RPC methods for submitting and subscribing to statements Protocol Implementation: - Statement encoding/decoding - Topic-based filtering with three modes: Any, MatchAll, and MatchAny - Duplicate detection via LRU cache of statement hashes Network Layer: - New StatementProtocolConfig for enabling the protocol on a chain - Statement notification substream handling - StatementProtocolConnected and StatementNotification events --------- Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Summary: - Based on https://github.com/bkchr/smoldot/tree/bkchr-battleship - Implements the Statement Store networking protocol for peer-to-peer statement distribution - Adds JSON-RPC methods for submitting and subscribing to statements Protocol Implementation: - Statement encoding/decoding - Topic-based filtering with three modes: Any, MatchAll, and MatchAny - Duplicate detection via LRU cache of statement hashes Network Layer: - New StatementProtocolConfig for enabling the protocol on a chain - Statement notification substream handling - StatementProtocolConnected and StatementNotification events --------- Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Summary: - Based on https://github.com/bkchr/smoldot/tree/bkchr-battleship - Implements the Statement Store networking protocol for peer-to-peer statement distribution - Adds JSON-RPC methods for submitting and subscribing to statements Protocol Implementation: - Statement encoding/decoding - Topic-based filtering with three modes: Any, MatchAll, and MatchAny - Duplicate detection via LRU cache of statement hashes Network Layer: - New StatementProtocolConfig for enabling the protocol on a chain - Statement notification substream handling - StatementProtocolConnected and StatementNotification events --------- Co-authored-by: Dmitry Markin <dmitry@markin.tech>
Summary:
Protocol Implementation:
Network Layer: