abci: Next-generation remote application network protocol #1117
Labels
abci
Application blockchain interface
enhancement
New feature or request
P:new-use-cases
Priority: Enable new use cases for application developers
Uh oh!
There was an error while loading. Please reload this page.
Relates to #88, and to enable bidirectional requests as per #1112 and #494 in future, the network protocol between remote applications and Comet needs to be reconsidered. The requirements for the future ABCI remote protocol are as follows (will be updated based on feedback on this issue).
The network interaction between a remote application instance and Comet must:
Nice-to-haves:
The protocol candidates currently under consideration are summarized in the following table.
1 TSP effectively supports a weak form of prioritization through forcing the use of different TCP connections for different types of traffic. It still does not facilitate per-connection prioritization as prioritized framing/chunking of messages would.
2 The degree to which we can influence the lower-level HTTP/2 framing and stream prioritization in gRPC communications is unclear.
3 Bidirectional gRPC interactions are only either possible through gRPC streaming, which is not really recommended due to potential stability issues, or by way of implementing clients and servers on both the application and Comet, which results in greater configuration and/or initial handshake complexity.
4 One unknown regarding QUIC is whether it's possible to detect a "disconnection", since QUIC builds on top of UDP.
5 Assumes interaction on a network where UDP traffic can flow largely unhindered.
The text was updated successfully, but these errors were encountered: