Sei — Information, Transactions, ABCI, Gaia REST, Staking, Query (2/3)
API reference for Sei. All methods ->
consensus_state
Retrieves consensus state.
Not safe to call from inside the ABCI application during a block execution.
Parameters
None.
Returns
Consensus state results.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "consensus_state",
"params": [],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/consensus_state
Response example
{
"jsonrpc": "2.0",
"id": 0,
"result": {
"round_state": {
"height/round/step": "1262197/0/8",
"start_time": "2019-08-01T11:52:38.962730289Z",
"proposal_block_hash": "634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009",
"locked_block_hash": "634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009",
"valid_block_hash": "634ADAF1F402663BEC2ABC340ECE8B4B45AA906FA603272ACC5F5EED3097E009",
"height_vote_set": [
{
"round": 0,
"prevotes": [
"Vote{0:000001E443FD 1262197/00/1(Prevote) 634ADAF1F402 7BB974E1BA40 @ 2019-08-01T11:52:35.513572509Z}",
"nil-Vote"
],
"prevotes_bit_array": "BA{100:xxxxxxxxxxxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} 169753436/170151262 = 1.00",
"precommits": [
"Vote{5:18C78D135C9D 1262197/00/2(Precommit) 634ADAF1F402 8B5EFFFEABCD @ 2019-08-01T11:52:36.25600005Z}",
"nil-Vote"
],
"precommits_bit_array": "BA{100:xxxxxx_xxxxx_xxxx_x_xxx_xx_xx_xx__x_x_x__xxxxxxxxxxxxxx_xxxx_xx_xxxxxx_xxxxxxxx_xxxx_xxx_x_xxxx__xxx} 118726247/170151262 = 0.70"
}
],
"proposer": {
"address": "D540AB022088612AC74B287D076DBFBC4A377A2E",
"index": 0
}
}
}
}
consensus_params
Retrieves consensus parameters.
Parameters
height(integer; default: 0): the height to return. If no height is provided, the latest block commit info is to be returned.
Returns
Consensus parameters results.
Request parameters
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "consensus_params",
"params": ["1"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/consensus_params?height=1
Response example
{
"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"
]
}
}
}
}
unconfirmed_txs
Retrieves the list of unconfirmed transactions.
Parameters
limit(integer; default: 30; max: 100): the maximum number of unconfirmed transactions to return.
Returns
The list of unconfirmed transactions.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "unconfirmed_txs",
"params": ["1"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/unconfirmed_txs?limit=1
Response example
{
"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="
]
}
}
num_unconfirmed_txs
Retrieves data on unconfirmed transactions.
Parameters
None.
Returns
The status of unconfirmed transactions.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "num_unconfirmed_txs",
"params": [],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/num_unconfirmed_txs
Response example
{
"jsonrpc": "2.0",
"id": 0,
"result": {
"n_txs": "31",
"total": "82",
"total_bytes": "19974"
}
}
tx_search
Searches for transactions with their results.
Parameters
query(string; required): query is a string, which has a form: "condition AND condition ..." (no OR at the moment). condition has a form: "key operation operand". key is a string with a restricted set of possible symbols ( \t\n\r()"'=>< are not allowed). operation can be=,<,<=,>,>=,CONTAINS. An operand can be a string (escaped with single quotes), number, date, or time.prove(boolean; default: false): adds proofs of the transactions inclusion in the block.page(integer; default: 1): a page number (1-based).per_page(integer; default: 30, max: 100): a number of entries per page.order_by(string; default: asc): the order in which transactions are sorted (ascordesc), by height & index. If empty, default sorting still applies.match_events(boolean; default: false): match attributes in query within events, in addition to the height and txhash.
Returns
The list of unconfirmed transactions.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "tx_search",
"params": ["4D2000", true, "1", "30", "asc"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/tx_search?query=tx.height%4D2000&prove=true&page=1&per_page=30&order_by=asc
Response example
{
"jsonrpc": "2.0",
"id": 0,
"result": {
"txs": [
{
"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=",
"proof": {
"RootHash": "72FE6BF6D4109105357AECE0A82E99D0F6288854D16D8767C5E72C57F876A14D",
"Data": "5wHwYl3uCkaoo2GaChQmSIu8hxpJxLcCuIi8fiHN4TMwrRIU/Af1cEG7Rcs/6LjTl7YjRSymJfYaFAoFdWF0b20SCzE0OTk5OTk1MDAwEhMKDQoFdWF0b20SBDUwMDAQwJoMGmoKJuta6YchAwswBShaB1wkZBctLIhYqBC3JrAI28XGzxP+rVEticGEEkAc+khTkKL9CDE47aDvjEHvUNt+izJfT4KVF2v2JkC+bmlH9K08q3PqHeMI9Z5up+XMusnTqlP985KF+SI5J3ZOIhhNYWRlIGJ5IENpcmNsZSB3aXRoIGxvdmU=",
"Proof": {
"total": "2",
"index": "0",
"leaf_hash": "eoJxKCzF3m72Xiwb/Q43vJ37/2Sx8sfNS9JKJohlsYI=",
"aunts": [
"eWb+HG/eMmukrQj4vNGyFYb3nKQncAWacq4HF5eFzDY="
]
}
}
}
],
"total_count": "2"
}
}
block_search
Searches for blocks by
BeginBlockandEndBlockevents.
Parameters
query(string; required): query is a string, which has a form: "condition AND condition ..." (no OR at the moment). condition has a form: "key operation operand". key is a string with a restricted set of possible symbols ( \t\n\r()"'=>< are not allowed). operation can be=,<,<=,>,>=,CONTAINS. An operand can be a string (escaped with single quotes), number, date, or time.page(integer; default: 1): a page number (1-based).per_page(integer; default: 30, max: 100): a number of entries per page.order_by(string; default: asc): the order in which transactions are sorted (ascordesc), by height & index. If empty, default sorting still applies.match_events(boolean; default: false): match attributes in query within events, in addition to the height.
Returns
The list of paginated blocks matching the search criteria.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "block_search",
"params": ["4D2000", "1", "30", "asc"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/block_search?query=block.height%4D2000&page=1&per_page=30&order_by=asc
Response example
No example available
tx
Retrieves a transaction by hash.
Parameters
hash(string; required): a hash of a transaction to retrieve.prove(boolean; default: false): adds proofs of the transaction's inclusion in the block.
Returns
Transaction info.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "tx",
"params": ["0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED", true],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/tx?hash=0xD70952032620CC4E2737EB8AC379806359D8E0B17B0488F627997A0B043ABDED&prove=true
Response example
{
"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="
}
}
Transactions
broadcast_tx_sync
Returns with the response from
CheckTx. Does not wait forDeliverTxresult.
If you want to be sure that the transaction is included in a block, you can subscribe for the result using JSONRPC via a websocket. See https://docs.tendermint.com/v0.34/app-dev/subscribing-to-events-via-websocket.html If you haven't received anything after a couple of blocks, resend it. If the same happens again, send it to some other node. A few reasons why it could happen:
- A malicious node drops or pretends it has committed your tx.
- A malicious proposer (not necessary the one you're communicating with) drops transactions, which might become valid in the future (https://github.com/tendermint/tendermint/issues/3322).
Please refer to Tendermint docs for formatting/encoding rules.
Parameters
tx(string; required): the transaction.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "broadcast_tx_sync",
"params": ["456"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/broadcast_tx_sync?tx=456
Response example
{
"jsonrpc": "2.0",
"id": 0,
"result": {
"code": "0",
"data": "",
"log": "",
"codespace": "ibc",
"hash": "0D33F2F03A5234F38706E43004489E061AC40A2E"
},
"error": ""
}
broadcast_tx_async
Returns right away, with no response. Does not wait for
CheckTxnorDeliverTxresults.
If you want to be sure that the transaction is included in a block, you can subscribe for the result using JSONRPC via a websocket. See https://docs.tendermint.com/v0.34/app-dev/subscribing-to-events-via-websocket.html If you haven't received anything after a couple of blocks, resend it. If the same happens again, send it to some other node. A few reasons why it could happen:
- A malicious node drops or pretends it has committed your tx.
- A malicious proposer (not necessary the one you're communicating with) drops transactions, which might become valid in the future (https://github.com/tendermint/tendermint/issues/3322).
- A node is offline.
Please refer to Tendermint docs for formatting/encoding rules.
Parameters
tx(string; required): the transaction.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "broadcast_tx_async",
"params": ["123"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/broadcast_tx_async?tx=123
Response example
{
"jsonrpc": "2.0",
"id": 0,
"result": {
"code": "0",
"data": "",
"log": "",
"codespace": "ibc",
"hash": "0D33F2F03A5234F38706E43004489E061AC40A2E"
},
"error": ""
}
broadcast_tx_commit
Returns with the responses from
CheckTxandDeliverTx.
Use only for testing and development. In production, use BroadcastTxSync or BroadcastTxAsync. You can subscribe for the transaction result using JSONRPC via a websocket (see Tendermint docs).
CONTRACT: only returns error if mempool.CheckTx() errs or if we timeout waiting for tx to commit.
If CheckTx or DeliverTx fails, no error will be returned, but the result will contain a non-OK ABCI code.
Please refer to Tendermint docs for formatting/encoding rules.
Parameters
tx(string; required): the transaction.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "broadcast_tx_commit",
"params": ["785"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/broadcast_tx_commit?tx=785
Response example
{
"error": "",
"result": {
"height": "26682",
"hash": "75CA0F856A4DA078FC4911580360E70CEFB2EBEE",
"deliver_tx": {
"log": "",
"data": "",
"code": "0"
},
"check_tx": {
"log": "",
"data": "",
"code": "0"
}
},
"id": 0,
"jsonrpc": "2.0"
}
check_tx
Checks the transaction without executing it.
The transaction won't be added to the mempool.
Please refer to Tendermint docs for formatting/encoding rules.
Parameters
tx(string; required): the transaction.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "check_tx",
"params": ["785"],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/check_tx?tx=785
Response example
{
"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"
},
"id": 0,
"jsonrpc": "2.0"
}
ABCI
abci_info
Retrieves application info.
Parameters
None.
Returns
Application info.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "abci_info",
"params": [],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/abci_info
Response example
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"response": {
"data": "secret",
"version": "1.6.1",
"last_block_height": "7690381",
"last_block_app_hash": "J1tJC9R3q3cNzkDcI7ipyi9NuZ8XUVbMyy7B42TPWuc="
}
}
}
abci_query
Queries the application for particular information.
Parameters
path(string; required): a path to the data ("/a/b/c").data(string; required): the data.height(integer; default: 0): the height (0 means latest).prove(boolean; default: false): adds proofs of the transactions inclusion in the block.
Returns
Particular info according to the query submitted.
Request example
- JSON-RPC
- REST
curl -X POST https://rpc.ankr.com/sei/YOUR_ANKR_API_KEY \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"method": "abci_query",
"params": ["a/b/c", "the_data", "1", true],
"id": 1
}'
curl https://rpc.ankr.com/premium-http/sei/YOUR_ANKR_API_KEY/blockchain?path=%2Fa%2Fb%2Fc&data=the_data&height=1&prove=true
Response example
{
"error": "",
"result": {
"response": {
"log": "exists",
"height": "0",
"proof": "010114FED0DAD959F36091AD761C922ABA3CBF1D8349990101020103011406AA2262E2F448242DF2C2607C3CDC705313EE3B0001149D16177BC71E445476174622EA559715C293740C",
"value": "61626364",
"key": "61626364",
"index": "-1",
"code": "0"
}
},
"id": 0,
"jsonrpc": "2.0"
}
Gaia REST
/node_info
Retrieves the properties of the connected node.
Parameters
None.
Returns
Node status.
Request example
curl https://rpc.ankr.com/premium-http/sei_cosmos/YOUR_ANKR_API_KEY/node_info
Response example
{
"application_version": {
"build_tags": "string",
"client_name": "string",
"commit": "string",
"go": "string",
"name": "string",
"server_name": "string",
"version": "string"
},
"node_info": {
"id": "string",
"moniker": "validator-name",
"protocol_version": {
"p2p": 7,
"block": 10,
"app": 0
},
"network": "gaia-2",
"channels": "string",
"listen_addr": "192.168.56.1:26656",
"version": "0.15.0",
"other": {
"tx_index": "on",
"rpc_address": "tcp://0.0.0.0:26657"
}
}
}
Transactions
/txs
Broadcasts a signed transaction to a full node.
Parameters
txBroadcast(object; required): the transaction must be a signed StdTx. The supported broadcast modes includeblock(returns after tx commit),sync(returns after CheckTx) andasync(returns right away).
{
"tx": {
"msg": [
"string"
],
"fee": {
"gas": "string",
"amount": [
{
"denom": "stake",
"amount": "50"
}
]
},
"memo": "string",
"signature": {
"signature": "MEUCIQD02fsDPra8MtbRsyB1w7bqTM55Wu138zQbFcWx4+CFyAIge5WNPfKIuvzBZ69MyqHsqD8S1IwiEp+iUb6VSdtlpgY=",
"pub_key": {
"type": "tendermint/PubKeySecp256k1",
"value": "Avz04VhtKJh8ACCVzlI8aTosGy0ikFXKIVHQ3jKMrosH"
},
"account_number": "0",
"sequence": "0"
}
},
"mode": "block"
}
Returns
Tx broadcasting result.
Request example
curl -X POST https://rpc.ankr.com/premium/YOUR_ANKR_API_KEY-http/sei_cosmos/YOUR_ANKR_API_KEY/txs
Response example
{
"check_tx": {
"code": 0,
"data": "data",
"log": "log",
"gas_used": 5000,
"gas_wanted": 10000,
"info": "info",
"tags": [
"",
""
]
},
"deliver_tx": {
"code": 5,
"data": "data",
"log": "log",
"gas_used": 5000,
"gas_wanted": 10000,
"info": "info",
"tags": [
"",
""
]
},
"hash": "EE5F3404034C524501629B56E0DDC38FAD651F04",
"height": 0
}