TerpNET Tendermint RPC
Tendermint supports the following RPC protocols:
- URI over HTTP
- JSON-RPC 2.0 over HTTP
- JSON-RPC 2.0 over websockets (deprecated)
Configuration
RPC can be configured by tuning parameters under [rpc] table in the
$TMHOME/config/config.toml file or by using the --rpc.X command-line
flags.
Default rpc listen address is tcp://0.0.0.0:26657.
To set another address, set the laddr config parameter to desired value.
CORS (Cross-Origin Resource Sharing) can be enabled by setting
cors_allowed_origins, cors_allowed_methods, cors_allowed_headers
config parameters.
Arguments
Arguments which expect strings or byte arrays may be passed as quoted
strings, like "abc" or as 0x-prefixed strings, like 0x616263.
URI/HTTP
A GET request with arguments encoded as query parameters:
curl localhost:26657/block?height=5
JSONRPC/HTTP
JSONRPC requests can be POST'd to the root RPC endpoint via HTTP.
curl --header "Content-Type: application/json" --request POST --data '{"method": "block", "params": ["5"], "id": 1}' localhost:26657
JSONRPC/websockets
In Tendermint v0.35 and earlier, JSONRPC requests can be also made via websocket. The websocket interface is deprecated in Tendermint v0.36, and will be removed in v0.37.
The websocket endpoint is at /websocket, e.g. localhost:26657/websocket.
The RPC methods for event subscription (subscribe, unsubscribe, and
unsubscribe_all) are only available via websockets.
Example using https://github.com/hashrocket/ws:
ws ws://localhost:26657/websocket
> { "jsonrpc": "2.0", "method": "subscribe", "params": ["tm.event='NewBlock'"], "id": 1 }
- GETNode heartbeat
- GETNode Status
- GETNetwork information
- GETGet block headers (max: 20) for minHeight <= height <= maxHeight.
- GETGet the header at a specified height
- GETGet header by hash
- GETGet block at a specified height
- GETGet block by hash
- GETGet block results at a specified height
- GETGet commit results at a specified height
- GETGet validator set at a specified height
- GETGet Genesis
- GETGet Genesis in paginated chunks
- GETGet consensus state
- GETGet consensus state
- GETGet consensus parameters
- GETGet the list of unconfirmed transactions
- GETGet data about unconfirmed transactions
- GETSearch for transactions
- GETSearch for blocks by BeginBlock and EndBlock events
- GETGet transactions by hash
- GETReturns with the response from CheckTx. Does not wait for DeliverTx result.
- GETReturns with the response from CheckTx. Does not wait for DeliverTx result.
- GETReturns right away, with no response. Does not wait for CheckTx nor DeliverTx results.
- GETReturns with the responses from CheckTx and DeliverTx.
- GETChecks the transaction without executing it.