Skip to content

Latest commit

 

History

History
34 lines (21 loc) · 947 Bytes

adr-003-abci-app-rpc.md

File metadata and controls

34 lines (21 loc) · 947 Bytes

ADR 3: 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