mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-07 13:55:17 +00:00
1265 lines
32 KiB
Markdown
1265 lines
32 KiB
Markdown
---
|
|
order: 1
|
|
parent:
|
|
title: RPC
|
|
order: 6
|
|
---
|
|
|
|
# RPC spec
|
|
|
|
This file defines the JSON-RPC spec of Tendermint. This is meant to be implemented by all clients.
|
|
|
|
## Support
|
|
|
|
| | [Tendermint-Go](https://github.com/tendermint/tendermint/) | [endermint-Rs](https://github.com/informalsystems/tendermint-rs) |
|
|
|--------------|:----------------------------------------------------------:|:----------------------------------------------------------------:|
|
|
| JSON-RPC 2.0 | ✅ | ✅ |
|
|
| HTTP | ✅ | ✅ |
|
|
| HTTPS | ✅ | ❌ |
|
|
| WS | ✅ | ✅ |
|
|
|
|
| Routes | [Tendermint-Go](https://github.com/tendermint/tendermint/) | [Tendermint-Rs](https://github.com/informalsystems/tendermint-rs) |
|
|
|-----------------------------------------|:----------------------------------------------------------:|:-----------------------------------------------------------------:|
|
|
| [Health](#health) | ✅ | ✅ |
|
|
| [Status](#status) | ✅ | ✅ |
|
|
| [NetInfo](#netinfo) | ✅ | ✅ |
|
|
| [Blockchain](#blockchain) | ✅ | ✅ |
|
|
| [Block](#block) | ✅ | ✅ |
|
|
| [BlockByHash](#blockbyhash) | ✅ | ❌ |
|
|
| [BlockResults](#blockresults) | ✅ | ✅ |
|
|
| [Commit](#commit) | ✅ | ✅ |
|
|
| [Validators](#validators) | ✅ | ✅ |
|
|
| [Genesis](#genesis) | ✅ | ✅ |
|
|
| [GenesisChunked](#genesischunked) | ✅ | ❌ |
|
|
| [ConsensusParams](#consensusparams) | ✅ | ❌ |
|
|
| [UnconfirmedTxs](#unconfirmedtxs) | ✅ | ❌ |
|
|
| [NumUnconfirmedTxs](#numunconfirmedtxs) | ✅ | ❌ |
|
|
| [Tx](#tx) | ✅ | ❌ |
|
|
| [BroadCastTxSync](#broadcasttxsync) | ✅ | ✅ |
|
|
| [BroadCastTxAsync](#broadcasttxasync) | ✅ | ✅ |
|
|
| [ABCIInfo](#abciinfo) | ✅ | ✅ |
|
|
| [ABCIQuery](#abciquery) | ✅ | ✅ |
|
|
| [BroadcastTxAsync](#broadcasttxasync) | ✅ | ✅ |
|
|
| [BroadcastEvidence](#broadcastevidence) | ✅ | ✅ |
|
|
|
|
## Timestamps
|
|
|
|
Timestamps in the RPC layer of Tendermint follows RFC3339Nano. The RFC3339Nano format removes trailing zeros from the seconds field.
|
|
|
|
This means if a block has a timestamp like: `1985-04-12T23:20:50.5200000Z`, the value returned in the RPC will be `1985-04-12T23:20:50.52Z`.
|
|
|
|
|
|
|
|
## Info Routes
|
|
|
|
### Health
|
|
|
|
Node heartbeat
|
|
|
|
#### Parameters
|
|
|
|
None
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/health
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"health\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": -1,
|
|
"result": {}
|
|
}
|
|
```
|
|
|
|
### Status
|
|
|
|
Get Tendermint status including node info, pubkey, latest block hash, app hash, block height and time.
|
|
|
|
#### Parameters
|
|
|
|
None
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/status
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"status\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": -1,
|
|
"result": {
|
|
"node_info": {
|
|
"protocol_version": {
|
|
"p2p": "8",
|
|
"block": "11",
|
|
"app": "0"
|
|
},
|
|
"id": "b93270b358a72a2db30089f3856475bb1f918d6d",
|
|
"listen_addr": "tcp://0.0.0.0:26656",
|
|
"network": "cosmoshub-4",
|
|
"version": "v0.34.8",
|
|
"channels": "40202122233038606100",
|
|
"moniker": "aib-hub-node",
|
|
"other": {
|
|
"tx_index": "on",
|
|
"rpc_address": "tcp://0.0.0.0:26657"
|
|
}
|
|
},
|
|
"sync_info": {
|
|
"latest_block_hash": "50F03C0EAACA8BCA7F9C14189ACE9C05A9A1BBB5268DB63DC6A3C848D1ECFD27",
|
|
"latest_app_hash": "2316CFF7644219F4F15BEE456435F280E2B38955EEA6D4617CCB6D7ABF781C22",
|
|
"latest_block_height": "5622165",
|
|
"latest_block_time": "2021-03-25T14:00:43.356134226Z",
|
|
"earliest_block_hash": "1455A0C15AC49BB506992EC85A3CD4D32367E53A087689815E01A524231C3ADF",
|
|
"earliest_app_hash": "E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
|
|
"earliest_block_height": "5200791",
|
|
"earliest_block_time": "2019-12-11T16:11:34Z",
|
|
"catching_up": false
|
|
},
|
|
"validator_info": {
|
|
"address": "38FB765D0092470989360ECA1C89CD06C2C1583C",
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "Z+8kntVegi1sQiWLYwFSVLNWqdAUGEy7lskL78gxLZI="
|
|
},
|
|
"voting_power": "0"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### NetInfo
|
|
|
|
Network information
|
|
|
|
#### Parameters
|
|
|
|
None
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/net_info
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"net_info\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"id": 0,
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"listening": true,
|
|
"listeners": [
|
|
"Listener(@)"
|
|
],
|
|
"n_peers": "1",
|
|
"peers": [
|
|
{
|
|
"node_id": "5576458aef205977e18fd50b274e9b5d9014525a",
|
|
"url": "tcp://5576458aef205977e18fd50b274e9b5d9014525a@95.179.155.35:26656"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Blockchain
|
|
|
|
Get block headers. Returned in descending order. May be limited in quantity.
|
|
|
|
#### Parameters
|
|
|
|
- `minHeight (integer)`: The lowest block to be returned in the response
|
|
- `maxHeight (integer)`: The highest block to be returned in the response
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/blockchain
|
|
|
|
curl http://127.0.0.1:26657/blockchain?minHeight=1&maxHeight=2
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"blockchain\",\"params\":{\"minHeight\":\"1\", \"maxHeight\":\"2\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"id": 0,
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"last_height": "1276718",
|
|
"block_metas": [
|
|
{
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"block_size": 1000000,
|
|
"header": {
|
|
"version": {
|
|
"block": "10",
|
|
"app": "0"
|
|
},
|
|
"chain_id": "cosmoshub-2",
|
|
"height": "12",
|
|
"time": "2019-04-22T17:01:51.701356223Z",
|
|
"last_block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"last_commit_hash": "21B9BC845AD2CB2C4193CDD17BFC506F1EBE5A7402E84AD96E64171287A34812",
|
|
"data_hash": "970886F99E77ED0D60DA8FCE0447C2676E59F2F77302B0C4AA10E1D02F18EF73",
|
|
"validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"next_validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"consensus_hash": "0F2908883A105C793B74495EB7D6DF2EEA479ED7FC9349206A65CB0F9987A0B8",
|
|
"app_hash": "223BF64D4A01074DC523A80E76B9BBC786C791FB0A1893AC5B14866356FCFD6C",
|
|
"last_results_hash": "",
|
|
"evidence_hash": "",
|
|
"proposer_address": "D540AB022088612AC74B287D076DBFBC4A377A2E"
|
|
},
|
|
"num_txs": "54"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### Block
|
|
|
|
Get block at a specified height.
|
|
|
|
#### Parameters
|
|
|
|
- `height (integer)`: height of the requested block. If no height is specified the latest block will be used.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/block
|
|
|
|
curl http://127.0.0.1:26657/block?height=1
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block\",\"params\":{\"height\":\"1\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"id": 0,
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"block": {
|
|
"header": {
|
|
"version": {
|
|
"block": "10",
|
|
"app": "0"
|
|
},
|
|
"chain_id": "cosmoshub-2",
|
|
"height": "12",
|
|
"time": "2019-04-22T17:01:51.701356223Z",
|
|
"last_block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"last_commit_hash": "21B9BC845AD2CB2C4193CDD17BFC506F1EBE5A7402E84AD96E64171287A34812",
|
|
"data_hash": "970886F99E77ED0D60DA8FCE0447C2676E59F2F77302B0C4AA10E1D02F18EF73",
|
|
"validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"next_validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"consensus_hash": "0F2908883A105C793B74495EB7D6DF2EEA479ED7FC9349206A65CB0F9987A0B8",
|
|
"app_hash": "223BF64D4A01074DC523A80E76B9BBC786C791FB0A1893AC5B14866356FCFD6C",
|
|
"last_results_hash": "",
|
|
"evidence_hash": "",
|
|
"proposer_address": "D540AB022088612AC74B287D076DBFBC4A377A2E"
|
|
},
|
|
"data": [
|
|
"yQHwYl3uCkKoo2GaChRnd+THLQ2RM87nEZrE19910Z28ABIUWW/t8AtIMwcyU0sT32RcMDI9GF0aEAoFdWF0b20SBzEwMDAwMDASEwoNCgV1YXRvbRIEMzEwMRCd8gEaagom61rphyEDoJPxlcjRoNDtZ9xMdvs+lRzFaHe2dl2P5R2yVCWrsHISQKkqX5H1zXAIJuC57yw0Yb03Fwy75VRip0ZBtLiYsUqkOsPUoQZAhDNP+6LY+RUwz/nVzedkF0S29NZ32QXdGv0="
|
|
],
|
|
"evidence": [
|
|
{
|
|
"type": "string",
|
|
"height": 0,
|
|
"time": 0,
|
|
"total_voting_power": 0,
|
|
"validator": {
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "A6DoBUypNtUAyEHWtQ9bFjfNg8Bo9CrnkUGl6k6OHN4="
|
|
},
|
|
"voting_power": 0,
|
|
"address": "string"
|
|
}
|
|
}
|
|
],
|
|
"last_commit": {
|
|
"height": 0,
|
|
"round": 0,
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"signatures": [
|
|
{
|
|
"type": 2,
|
|
"height": "1262085",
|
|
"round": 0,
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"timestamp": "2019-08-01T11:39:38.867269833Z",
|
|
"validator_address": "000001E443FD237E4B616E2FA69DF4EE3D49A94F",
|
|
"validator_index": 0,
|
|
"signature": "DBchvucTzAUEJnGYpNvMdqLhBAHG4Px8BsOBB3J3mAFCLGeuG7uJqy+nVngKzZdPhPi8RhmE/xcw/M9DOJjEDg=="
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### BlockByHash
|
|
|
|
#### Parameters
|
|
|
|
- `hash (string)`: Hash of the block to query for.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/block_by_hash?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block_by_hash\",\"params\":{\"hash\":\"0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"id": 0,
|
|
"jsonrpc": "2.0",
|
|
"result": {
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"block": {
|
|
"header": {
|
|
"version": {
|
|
"block": "10",
|
|
"app": "0"
|
|
},
|
|
"chain_id": "cosmoshub-2",
|
|
"height": "12",
|
|
"time": "2019-04-22T17:01:51.701356223Z",
|
|
"last_block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"last_commit_hash": "21B9BC845AD2CB2C4193CDD17BFC506F1EBE5A7402E84AD96E64171287A34812",
|
|
"data_hash": "970886F99E77ED0D60DA8FCE0447C2676E59F2F77302B0C4AA10E1D02F18EF73",
|
|
"validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"next_validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"consensus_hash": "0F2908883A105C793B74495EB7D6DF2EEA479ED7FC9349206A65CB0F9987A0B8",
|
|
"app_hash": "223BF64D4A01074DC523A80E76B9BBC786C791FB0A1893AC5B14866356FCFD6C",
|
|
"last_results_hash": "",
|
|
"evidence_hash": "",
|
|
"proposer_address": "D540AB022088612AC74B287D076DBFBC4A377A2E"
|
|
},
|
|
"data": [
|
|
"yQHwYl3uCkKoo2GaChRnd+THLQ2RM87nEZrE19910Z28ABIUWW/t8AtIMwcyU0sT32RcMDI9GF0aEAoFdWF0b20SBzEwMDAwMDASEwoNCgV1YXRvbRIEMzEwMRCd8gEaagom61rphyEDoJPxlcjRoNDtZ9xMdvs+lRzFaHe2dl2P5R2yVCWrsHISQKkqX5H1zXAIJuC57yw0Yb03Fwy75VRip0ZBtLiYsUqkOsPUoQZAhDNP+6LY+RUwz/nVzedkF0S29NZ32QXdGv0="
|
|
],
|
|
"evidence": [
|
|
{
|
|
"type": "string",
|
|
"height": 0,
|
|
"time": 0,
|
|
"total_voting_power": 0,
|
|
"validator": {
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "A6DoBUypNtUAyEHWtQ9bFjfNg8Bo9CrnkUGl6k6OHN4="
|
|
},
|
|
"voting_power": 0,
|
|
"address": "string"
|
|
}
|
|
}
|
|
],
|
|
"last_commit": {
|
|
"height": 0,
|
|
"round": 0,
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"signatures": [
|
|
{
|
|
"type": 2,
|
|
"height": "1262085",
|
|
"round": 0,
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"timestamp": "2019-08-01T11:39:38.867269833Z",
|
|
"validator_address": "000001E443FD237E4B616E2FA69DF4EE3D49A94F",
|
|
"validator_index": 0,
|
|
"signature": "DBchvucTzAUEJnGYpNvMdqLhBAHG4Px8BsOBB3J3mAFCLGeuG7uJqy+nVngKzZdPhPi8RhmE/xcw/M9DOJjEDg=="
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### BlockResults
|
|
|
|
### Parameters
|
|
|
|
- `height (integer)`: Height of the block which contains the results. If no height is specified, the latest block height will be used
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/block_results
|
|
|
|
|
|
curl http://127.0.0.1:26657/block_results?height=1
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"block_results\",\"params\":{\"height\":\"1\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"height": "12",
|
|
"total_gas_used": "100",
|
|
"txs_results": [
|
|
{
|
|
"code": "0",
|
|
"data": "",
|
|
"log": "not enough gas",
|
|
"info": "",
|
|
"gas_wanted": "100",
|
|
"gas_used": "100",
|
|
"events": [
|
|
{
|
|
"type": "app",
|
|
"attributes": [
|
|
{
|
|
"key": "YWN0aW9u",
|
|
"value": "c2VuZA==",
|
|
"index": false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"codespace": "ibc"
|
|
}
|
|
],
|
|
"begin_block_events": [
|
|
{
|
|
"type": "app",
|
|
"attributes": [
|
|
{
|
|
"key": "YWN0aW9u",
|
|
"value": "c2VuZA==",
|
|
"index": false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"end_block": [
|
|
{
|
|
"type": "app",
|
|
"attributes": [
|
|
{
|
|
"key": "YWN0aW9u",
|
|
"value": "c2VuZA==",
|
|
"index": false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"validator_updates": [
|
|
{
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM="
|
|
},
|
|
"power": "300"
|
|
}
|
|
],
|
|
"consensus_params_updates": {
|
|
"block": {
|
|
"max_bytes": "22020096",
|
|
"max_gas": "1000",
|
|
"time_iota_ms": "1000"
|
|
},
|
|
"evidence": {
|
|
"max_age": "100000"
|
|
},
|
|
"validator": {
|
|
"pub_key_types": [
|
|
"ed25519"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Commit
|
|
|
|
#### Parameters
|
|
|
|
- `height (integer)`: Height of the block the requested commit pertains to. If no height is set the latest commit will be returned.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/commit
|
|
|
|
|
|
curl http://127.0.0.1:26657/commit?height=1
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"commit\",\"params\":{\"height\":\"1\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"signed_header": {
|
|
"header": {
|
|
"version": {
|
|
"block": "10",
|
|
"app": "0"
|
|
},
|
|
"chain_id": "cosmoshub-2",
|
|
"height": "12",
|
|
"time": "2019-04-22T17:01:51.701356223Z",
|
|
"last_block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"last_commit_hash": "21B9BC845AD2CB2C4193CDD17BFC506F1EBE5A7402E84AD96E64171287A34812",
|
|
"data_hash": "970886F99E77ED0D60DA8FCE0447C2676E59F2F77302B0C4AA10E1D02F18EF73",
|
|
"validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"next_validators_hash": "D658BFD100CA8025CFD3BECFE86194322731D387286FBD26E059115FD5F2BCA0",
|
|
"consensus_hash": "0F2908883A105C793B74495EB7D6DF2EEA479ED7FC9349206A65CB0F9987A0B8",
|
|
"app_hash": "223BF64D4A01074DC523A80E76B9BBC786C791FB0A1893AC5B14866356FCFD6C",
|
|
"last_results_hash": "",
|
|
"evidence_hash": "",
|
|
"proposer_address": "D540AB022088612AC74B287D076DBFBC4A377A2E"
|
|
},
|
|
"commit": {
|
|
"height": "1311801",
|
|
"round": 0,
|
|
"block_id": {
|
|
"hash": "112BC173FD838FB68EB43476816CD7B4C6661B6884A9E357B417EE957E1CF8F7",
|
|
"parts": {
|
|
"total": 1,
|
|
"hash": "38D4B26B5B725C4F13571EFE022C030390E4C33C8CF6F88EDD142EA769642DBD"
|
|
}
|
|
},
|
|
"signatures": [
|
|
{
|
|
"block_id_flag": 2,
|
|
"validator_address": "000001E443FD237E4B616E2FA69DF4EE3D49A94F",
|
|
"timestamp": "2019-04-22T17:01:58.376629719Z",
|
|
"signature": "14jaTQXYRt8kbLKEhdHq7AXycrFImiLuZx50uOjs2+Zv+2i7RTG/jnObD07Jo2ubZ8xd7bNBJMqkgtkd0oQHAw=="
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"canonical": true
|
|
}
|
|
}
|
|
```
|
|
|
|
### Validators
|
|
|
|
#### Parameters
|
|
|
|
- `height (integer)`: Block height at which the validators were present on. If no height is set the latest commit will be returned.
|
|
- `page (integer)`:
|
|
- `per_page (integer)`:
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/validators
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"validators\",\"params\":{\"height\":\"1\", \"page\":\"1\", \"per_page\":\"20\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"block_height": "55",
|
|
"validators": [
|
|
{
|
|
"address": "000001E443FD237E4B616E2FA69DF4EE3D49A94F",
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "9tK9IT+FPdf2qm+5c2qaxi10sWP+3erWTKgftn2PaQM="
|
|
},
|
|
"voting_power": "239727",
|
|
"proposer_priority": "-11896414"
|
|
}
|
|
],
|
|
"count": "1",
|
|
"total": "25"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Genesis
|
|
|
|
Get Genesis of the chain. If the response is large, this operation
|
|
will return an error: use `genesis_chunked` instead.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/genesis
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"genesis\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"genesis": {
|
|
"genesis_time": "2019-04-22T17:00:00Z",
|
|
"chain_id": "cosmoshub-2",
|
|
"initial_height": "2",
|
|
"consensus_params": {
|
|
"block": {
|
|
"max_bytes": "22020096",
|
|
"max_gas": "1000",
|
|
"time_iota_ms": "1000"
|
|
},
|
|
"evidence": {
|
|
"max_age": "100000"
|
|
},
|
|
"validator": {
|
|
"pub_key_types": [
|
|
"ed25519"
|
|
]
|
|
}
|
|
},
|
|
"validators": [
|
|
{
|
|
"address": "B00A6323737F321EB0B8D59C6FD497A14B60938A",
|
|
"pub_key": {
|
|
"type": "tendermint/PubKeyEd25519",
|
|
"value": "cOQZvh/h9ZioSeUMZB/1Vy1Xo5x2sjrVjlE/qHnYifM="
|
|
},
|
|
"power": "9328525",
|
|
"name": "Certus One"
|
|
}
|
|
],
|
|
"app_hash": "",
|
|
"app_state": {}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### GenesisChunked
|
|
|
|
Get the genesis document in a chunks to support easily transfering larger documents.
|
|
|
|
#### Parameters
|
|
|
|
- `chunk` (integer): the index number of the chunk that you wish to
|
|
fetch. These IDs are 0 indexed.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/genesis_chunked?chunk=0
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"genesis_chunked\",\"params\":{\"chunk\":0}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"chunk": 0,
|
|
"total": 10,
|
|
"data": "dGVuZGVybWludAo="
|
|
}
|
|
}
|
|
```
|
|
|
|
### ConsensusParams
|
|
|
|
Get the consensus parameters.
|
|
|
|
#### Parameters
|
|
|
|
- `height (integer)`: Block height at which the consensus params would like to be fetched for.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/consensus_params
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"consensus_params\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"block_height": "1",
|
|
"consensus_params": {
|
|
"block": {
|
|
"max_bytes": "22020096",
|
|
"max_gas": "1000",
|
|
"time_iota_ms": "1000"
|
|
},
|
|
"evidence": {
|
|
"max_age": "100000"
|
|
},
|
|
"validator": {
|
|
"pub_key_types": [
|
|
"ed25519"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### UnconfirmedTxs
|
|
|
|
Get a list of unconfirmed transactions.
|
|
|
|
#### Parameters
|
|
|
|
- `limit (integer)` The amount of txs to respond with.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/unconfirmed_txs
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"unconfirmed_txs\, \"params\":{\"limit\":\"20\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"n_txs": "82",
|
|
"total": "82",
|
|
"total_bytes": "19974",
|
|
"txs": [
|
|
"gAPwYl3uCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUA75/FmYq9WymsOBJ0XSJ8yV8zmQKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhQbrvwbvlNiT+Yjr86G+YQNx7kRVgowjE1xDQoUjJyJG+WaWBwSiGannBRFdrbma+8SFK2m+1oxgILuQLO55n8mWfnbIzyPCjCMTXENChSMnIkb5ZpYHBKIZqecFEV2tuZr7xIUQNGfkmhTNMis4j+dyMDIWXdIPiYKMIxNcQ0KFIyciRvlmlgcEohmp5wURXa25mvvEhS8sL0D0wwgGCItQwVowak5YB38KRIUCg4KBXVhdG9tEgUxMDA1NBDoxRgaagom61rphyECn8x7emhhKdRCB2io7aS/6Cpuq5NbVqbODmqOT3jWw6kSQKUresk+d+Gw0BhjiggTsu8+1voW+VlDCQ1GRYnMaFOHXhyFv7BCLhFWxLxHSAYT8a5XqoMayosZf9mANKdXArA="
|
|
]
|
|
}
|
|
}
|
|
```
|
|
|
|
### NumUnconfirmedTxs
|
|
|
|
Get data about unconfirmed transactions.
|
|
|
|
#### Parameters
|
|
|
|
None
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/num_unconfirmed_txs
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"num_unconfirmed_txs\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"n_txs": "31",
|
|
"total": "82",
|
|
"total_bytes": "19974"
|
|
}
|
|
}
|
|
```
|
|
|
|
### Tx
|
|
|
|
#### Parameters
|
|
|
|
- `hash (string)`: The hash of the transaction
|
|
- `prove (bool)`: If the response should include proof the transaction was included in a block.
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/num_unconfirmed_txs
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"num_unconfirmed_txs\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"hash": "D70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED",
|
|
"height": "1000",
|
|
"index": 0,
|
|
"tx_result": {
|
|
"log": "[{\"msg_index\":\"0\",\"success\":true,\"log\":\"\"}]",
|
|
"gas_wanted": "200000",
|
|
"gas_used": "28596",
|
|
"tags": [
|
|
{
|
|
"key": "YWN0aW9u",
|
|
"value": "c2VuZA==",
|
|
"index": false
|
|
}
|
|
]
|
|
},
|
|
"tx": "5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU="
|
|
}
|
|
}
|
|
```
|
|
|
|
## Transaction Routes
|
|
|
|
### BroadCastTxSync
|
|
|
|
Returns with the response from CheckTx. Does not wait for DeliverTx result.
|
|
|
|
#### Parameters
|
|
|
|
- `tx (string)`: The transaction encoded
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/broadcast_tx_sync?tx=encoded_tx
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"broadcast_tx_sync\",\"params\":{\"tx\":\"a/encoded_tx/c\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"code": "0",
|
|
"data": "",
|
|
"log": "",
|
|
"codespace": "ibc",
|
|
"hash": "0D33F2F03A5234F38706E43004489E061AC40A2E"
|
|
},
|
|
"error": ""
|
|
}
|
|
```
|
|
|
|
### BroadCastTxAsync
|
|
|
|
Returns right away, with no response. Does not wait for CheckTx nor DeliverTx results.
|
|
|
|
#### Parameters
|
|
|
|
- `tx (string)`: The transaction encoded
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/broadcast_tx_async?tx=encoded_tx
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"broadcast_tx_async\",\"params\":{\"tx\":\"a/encoded_tx/c\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"code": "0",
|
|
"data": "",
|
|
"log": "",
|
|
"codespace": "ibc",
|
|
"hash": "0D33F2F03A5234F38706E43004489E061AC40A2E"
|
|
},
|
|
"error": ""
|
|
}
|
|
```
|
|
|
|
### CheckTx
|
|
|
|
Checks the transaction without executing it.
|
|
|
|
#### Parameters
|
|
|
|
- `tx (string)`: String of the encoded transaction
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/check_tx?tx=encoded_tx
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"check_tx\",\"params\":{\"tx\":\"a/encoded_tx/c\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"id": 0,
|
|
"jsonrpc": "2.0",
|
|
"error": "",
|
|
"result": {
|
|
"code": "0",
|
|
"data": "",
|
|
"log": "",
|
|
"info": "",
|
|
"gas_wanted": "1",
|
|
"gas_used": "0",
|
|
"events": [
|
|
{
|
|
"type": "app",
|
|
"attributes": [
|
|
{
|
|
"key": "YWN0aW9u",
|
|
"value": "c2VuZA==",
|
|
"index": false
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"codespace": "bank"
|
|
}
|
|
}
|
|
```
|
|
|
|
## ABCI Routes
|
|
|
|
### ABCIInfo
|
|
|
|
Get some info about the application.
|
|
|
|
#### Parameters
|
|
|
|
None
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/abci_info
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"abci_info\"}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"jsonrpc": "2.0",
|
|
"id": 0,
|
|
"result": {
|
|
"response": {
|
|
"data": "{\"size\":0}",
|
|
"version": "0.16.1",
|
|
"app_version": "1314126"
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### ABCIQuery
|
|
|
|
Query the application for some information.
|
|
|
|
#### Parameters
|
|
|
|
- `path (string)`: Path to the data. This is defined by the application.
|
|
- `data (string)`: The data requested
|
|
- `height (integer)`: Height at which the data is being requested for.
|
|
- `prove (bool)`: Include proofs of the transactions inclusion in the block
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://127.0.0.1:26657/abci_query?path="a/b/c"=IHAVENOIDEA&height=1&prove=true
|
|
```
|
|
|
|
##### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"abci_query\",\"params\":{\"path\":\"a/b/c\", \"height\":\"1\", \"bool\":\"true\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"error": "",
|
|
"result": {
|
|
"response": {
|
|
"log": "exists",
|
|
"height": "0",
|
|
"proof": "010114FED0DAD959F36091AD761C922ABA3CBF1D8349990101020103011406AA2262E2F448242DF2C2607C3CDC705313EE3B0001149D16177BC71E445476174622EA559715C293740C",
|
|
"value": "61626364",
|
|
"key": "61626364",
|
|
"index": "-1",
|
|
"code": "0"
|
|
}
|
|
},
|
|
"id": 0,
|
|
"jsonrpc": "2.0"
|
|
}
|
|
```
|
|
|
|
## Evidence Routes
|
|
|
|
### BroadcastEvidence
|
|
|
|
Broadcast evidence of the misbehavior.
|
|
|
|
#### Parameters
|
|
|
|
- `evidence (string)`:
|
|
|
|
#### Request
|
|
|
|
##### HTTP
|
|
|
|
```sh
|
|
curl http://localhost:26657/broadcast_evidence?evidence=JSON_EVIDENCE_encoded
|
|
```
|
|
|
|
#### JSONRPC
|
|
|
|
```sh
|
|
curl -X POST https://localhost:26657 -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"broadcast_evidence\",\"params\":{\"evidence\":\"JSON_EVIDENCE_encoded\"}}"
|
|
```
|
|
|
|
#### Response
|
|
|
|
```json
|
|
{
|
|
"error": "",
|
|
"result": "",
|
|
"id": 0,
|
|
"jsonrpc": "2.0"
|
|
}
|
|
```
|