open-autonomy
open-autonomy copied to clipboard
Tendermint RPC protocol + connection
trafficstars
Is your feature request related to a problem? Please describe. Currently, In order to interact with a Tendermint node, we use Tendermint RPC calls through HTTP. However, that requires encoding the Tendermint RPC requests into HTTP requests.
Describe the solution you'd like Two new AEA components that serve as an abstraction, from the skill perspective, to interact with the Tendermint node, based on Tendermint RPC protocols https://docs.tendermint.com/master/rpc/#/:
tendermint_rpcprotocol, that represents all the Tendermint RPC requests and responsestendermint_rpcconnection, such that:- messages from a skill towards the Tendermint node are Tendermint RPC requests that are encoded into an HTTP request, and sends it using an HTTP connection;
- messages from the Tendermint node towards a skill are HTTP responses that are decoded into Tendermint RPC message responses.
Potentially, the Tendermint RPC connection could support the three modes available:
Tendermint supports the following RPC protocols:
- URI over HTTP
- JSONRPC over HTTP
- JSONRPC over websockets
But as a first step, we can use the first one.
Describe alternatives you've considered n/a
Additional context n/a