mirror of
https://github.com/fluencelabs/tendermint
synced 2025-05-19 10:01:18 +00:00
add rpc server proposal [ci skip]
This commit is contained in:
parent
742b5b705f
commit
b893df3348
34
docs/hidden/adr-003.md
Normal file
34
docs/hidden/adr-003.md
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
# ADR 1: Must an ABCI-app have an RPC server?
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
ABCI-server could expose its own RPC-server and act as a proxy to Tendermint.
|
||||||
|
|
||||||
|
The idea was for the Tendermint RPC to just be a transparent proxy to the app.
|
||||||
|
Clients need to talk to Tendermint for proofs, unless we burden all app devs
|
||||||
|
with exposing Tendermint proof stuff. Also seems less complex to lock down one
|
||||||
|
server than two, but granted it makes querying a bit more kludgy since it needs
|
||||||
|
to be passed as a `Query`. Also, **having a very standard rpc interface means
|
||||||
|
the light-client can work with all apps and handle proofs**. The only
|
||||||
|
app-specific logic is decoding the binary data to a more readable form (eg.
|
||||||
|
json). This is a huge advantage for code-reuse and standardization.
|
||||||
|
|
||||||
|
## Decision
|
||||||
|
|
||||||
|
We dont expose an RPC server on any of our ABCI-apps.
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
accepted
|
||||||
|
|
||||||
|
## Consequences
|
||||||
|
|
||||||
|
### Positive
|
||||||
|
|
||||||
|
- Unified interface for all apps
|
||||||
|
|
||||||
|
### Negative
|
||||||
|
|
||||||
|
- `Query` interface
|
||||||
|
|
||||||
|
### Neutral
|
Loading…
x
Reference in New Issue
Block a user