Cosmos · Schema
Cosmos SDK cosmos.base.tendermint Schemas
JSON Schema definitions for the cosmos.base.tendermint module of the Cosmos SDK gRPC-gateway REST API.
BlockchainCosmosIBCStakingGovernanceDeFiWeb3
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Cosmos SDK cosmos.base.tendermint Schemas",
"description": "JSON Schema definitions for the cosmos.base.tendermint module of the Cosmos SDK gRPC-gateway REST API.",
"definitions": {
"cosmos.base.tendermint.v1beta1.ABCIQueryResponse": {
"type": "object",
"properties": {
"code": {
"type": "integer",
"format": "int64"
},
"log": {
"type": "string",
"title": "nondeterministic"
},
"info": {
"type": "string",
"title": "nondeterministic"
},
"index": {
"type": "string",
"format": "int64"
},
"key": {
"type": "string",
"format": "byte"
},
"value": {
"type": "string",
"format": "byte"
},
"proofOps": {
"type": "object",
"properties": {
"ops": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"key": {
"type": "string",
"format": "byte"
},
"data": {
"type": "string",
"format": "byte"
}
},
"description": "ProofOp defines an operation used for calculating Merkle root. The data could\nbe arbitrary format, providing necessary data for example neighbouring node\nhash.\n\nNote: This type is a duplicate of the ProofOp proto type defined in Tendermint."
}
}
},
"description": "ProofOps is Merkle proof defined by the list of ProofOps.\n\nNote: This type is a duplicate of the ProofOps proto type defined in Tendermint."
},
"height": {
"type": "string",
"format": "int64"
},
"codespace": {
"type": "string"
}
},
"description": "ABCIQueryResponse defines the response structure for the ABCIQuery gRPC query.\n\nNote: This type is a duplicate of the ResponseQuery proto type defined in\nTendermint."
},
"cosmos.base.tendermint.v1beta1.Block": {
"type": "object",
"properties": {
"header": {
"type": "object",
"properties": {
"version": {
"title": "basic block info",
"type": "object",
"properties": {
"block": {
"type": "string",
"format": "uint64"
},
"app": {
"type": "string",
"format": "uint64"
}
},
"description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine."
},
"chainId": {
"type": "string"
},
"height": {
"type": "string",
"format": "int64"
},
"time": {
"type": "string",
"format": "date-time"
},
"lastBlockId": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte"
},
"partSetHeader": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"hash": {
"type": "string",
"format": "byte"
}
},
"title": "PartsetHeader"
}
},
"title": "BlockID"
},
"lastCommitHash": {
"type": "string",
"format": "byte",
"description": "commit from validators from the last block",
"title": "hashes of block data"
},
"dataHash": {
"type": "string",
"format": "byte",
"title": "transactions"
},
"validatorsHash": {
"type": "string",
"format": "byte",
"description": "validators for the current block",
"title": "hashes from the app output from the prev block"
},
"nextValidatorsHash": {
"type": "string",
"format": "byte",
"title": "validators for the next block"
},
"consensusHash": {
"type": "string",
"format": "byte",
"title": "consensus params for current block"
},
"appHash": {
"type": "string",
"format": "byte",
"title": "state after txs from the previous block"
},
"lastResultsHash": {
"type": "string",
"format": "byte",
"title": "root hash of all results from the txs from the previous block"
},
"evidenceHash": {
"type": "string",
"format": "byte",
"description": "evidence included in the block",
"title": "consensus info"
},
"proposerAddress": {
"type": "string",
"description": "proposer_address is the original block proposer address, formatted as a Bech32 string.\nIn Tendermint, this type is `bytes`, but in the SDK, we convert it to a Bech32 string\nfor better UX.\n\noriginal proposer of the block"
}
},
"description": "Header defines the structure of a Tendermint block header."
},
"data": {
"type": "object",
"properties": {
"txs": {
"type": "array",
"items": {
"type": "string",
"format": "byte"
},
"description": "Txs that will be applied by state @ block.Height+1.\nNOTE: not all txs here are valid. We're just agreeing on the order first.\nThis means that block.AppHash does not include these txs."
}
},
"title": "Data contains the set of transactions included in the block"
},
"evidence": {
"type": "object",
"properties": {
"evidence": {
"type": "array",
"items": {
"type": "object",
"properties": {
"duplicateVoteEvidence": {
"type": "object",
"properties": {
"voteA": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"SIGNED_MSG_TYPE_UNKNOWN",
"SIGNED_MSG_TYPE_PREVOTE",
"SIGNED_MSG_TYPE_PRECOMMIT",
"SIGNED_MSG_TYPE_PROPOSAL"
],
"default": "SIGNED_MSG_TYPE_UNKNOWN",
"description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals"
},
"height": {
"type": "string",
"format": "int64"
},
"round": {
"type": "integer",
"format": "int32"
},
"blockId": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte"
},
"partSetHeader": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"hash": {
"type": "string",
"format": "byte"
}
},
"title": "PartsetHeader"
}
},
"title": "BlockID",
"description": "zero if vote is nil."
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"validatorAddress": {
"type": "string",
"format": "byte"
},
"validatorIndex": {
"type": "integer",
"format": "int32"
},
"signature": {
"type": "string",
"format": "byte",
"description": "Vote signature by the validator if they participated in consensus for the\nassociated block."
},
"extension": {
"type": "string",
"format": "byte",
"description": "Vote extension provided by the application. Only valid for precommit\nmessages."
},
"extensionSignature": {
"type": "string",
"format": "byte",
"description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages."
}
},
"description": "Vote represents a prevote or precommit vote from validators for\nconsensus."
},
"voteB": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"SIGNED_MSG_TYPE_UNKNOWN",
"SIGNED_MSG_TYPE_PREVOTE",
"SIGNED_MSG_TYPE_PRECOMMIT",
"SIGNED_MSG_TYPE_PROPOSAL"
],
"default": "SIGNED_MSG_TYPE_UNKNOWN",
"description": "SignedMsgType is a type of signed message in the consensus.\n\n - SIGNED_MSG_TYPE_PREVOTE: Votes\n - SIGNED_MSG_TYPE_PROPOSAL: Proposals"
},
"height": {
"type": "string",
"format": "int64"
},
"round": {
"type": "integer",
"format": "int32"
},
"blockId": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte"
},
"partSetHeader": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"hash": {
"type": "string",
"format": "byte"
}
},
"title": "PartsetHeader"
}
},
"title": "BlockID",
"description": "zero if vote is nil."
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"validatorAddress": {
"type": "string",
"format": "byte"
},
"validatorIndex": {
"type": "integer",
"format": "int32"
},
"signature": {
"type": "string",
"format": "byte",
"description": "Vote signature by the validator if they participated in consensus for the\nassociated block."
},
"extension": {
"type": "string",
"format": "byte",
"description": "Vote extension provided by the application. Only valid for precommit\nmessages."
},
"extensionSignature": {
"type": "string",
"format": "byte",
"description": "Vote extension signature by the validator if they participated in\nconsensus for the associated block.\nOnly valid for precommit messages."
}
},
"description": "Vote represents a prevote or precommit vote from validators for\nconsensus."
},
"totalVotingPower": {
"type": "string",
"format": "int64"
},
"validatorPower": {
"type": "string",
"format": "int64"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
},
"description": "DuplicateVoteEvidence contains evidence of a validator signed two conflicting votes."
},
"lightClientAttackEvidence": {
"type": "object",
"properties": {
"conflictingBlock": {
"type": "object",
"properties": {
"signedHeader": {
"type": "object",
"properties": {
"header": {
"type": "object",
"properties": {
"version": {
"title": "basic block info",
"type": "object",
"properties": {
"block": {
"type": "string",
"format": "uint64"
},
"app": {
"type": "string",
"format": "uint64"
}
},
"description": "Consensus captures the consensus rules for processing a block in the blockchain,\nincluding all blockchain data structures and the rules of the application's\nstate transition machine."
},
"chainId": {
"type": "string"
},
"height": {
"type": "string",
"format": "int64"
},
"time": {
"type": "string",
"format": "date-time"
},
"lastBlockId": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte"
},
"partSetHeader": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"hash": {
"type": "string",
"format": "byte"
}
},
"title": "PartsetHeader"
}
},
"title": "BlockID"
},
"lastCommitHash": {
"type": "string",
"format": "byte",
"description": "commit from validators from the last block",
"title": "hashes of block data"
},
"dataHash": {
"type": "string",
"format": "byte",
"title": "transactions"
},
"validatorsHash": {
"type": "string",
"format": "byte",
"description": "validators for the current block",
"title": "hashes from the app output from the prev block"
},
"nextValidatorsHash": {
"type": "string",
"format": "byte",
"title": "validators for the next block"
},
"consensusHash": {
"type": "string",
"format": "byte",
"title": "consensus params for current block"
},
"appHash": {
"type": "string",
"format": "byte",
"title": "state after txs from the previous block"
},
"lastResultsHash": {
"type": "string",
"format": "byte",
"title": "root hash of all results from the txs from the previous block"
},
"evidenceHash": {
"type": "string",
"format": "byte",
"description": "evidence included in the block",
"title": "consensus info"
},
"proposerAddress": {
"type": "string",
"format": "byte",
"title": "original proposer of the block"
}
},
"description": "Header defines the structure of a block header."
},
"commit": {
"type": "object",
"properties": {
"height": {
"type": "string",
"format": "int64"
},
"round": {
"type": "integer",
"format": "int32"
},
"blockId": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte"
},
"partSetHeader": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"hash": {
"type": "string",
"format": "byte"
}
},
"title": "PartsetHeader"
}
},
"title": "BlockID"
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blockIdFlag": {
"type": "string",
"enum": [
"BLOCK_ID_FLAG_UNKNOWN",
"BLOCK_ID_FLAG_ABSENT",
"BLOCK_ID_FLAG_COMMIT",
"BLOCK_ID_FLAG_NIL"
],
"default": "BLOCK_ID_FLAG_UNKNOWN",
"description": "- BLOCK_ID_FLAG_UNKNOWN: indicates an error condition\n - BLOCK_ID_FLAG_ABSENT: the vote was not received\n - BLOCK_ID_FLAG_COMMIT: voted for the block that received the majority\n - BLOCK_ID_FLAG_NIL: voted for nil",
"title": "BlockIdFlag indicates which BlockID the signature is for"
},
"validatorAddress": {
"type": "string",
"format": "byte"
},
"timestamp": {
"type": "string",
"format": "date-time"
},
"signature": {
"type": "string",
"format": "byte"
}
},
"description": "CommitSig is a part of the Vote included in a Commit."
}
}
},
"description": "Commit contains the evidence that a block was committed by a set of validators."
}
}
},
"validatorSet": {
"type": "object",
"properties": {
"validators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"format": "byte"
},
"pubKey": {
"type": "object",
"properties": {
"ed25519": {
"type": "string",
"format": "byte"
},
"secp256k1": {
"type": "string",
"format": "byte"
}
},
"title": "PublicKey defines the keys available for use with Validators"
},
"votingPower": {
"type": "string",
"format": "int64"
},
"proposerPriority": {
"type": "string",
"format": "int64"
}
}
}
},
"proposer": {
"type": "object",
"properties": {
"address": {
"type": "string",
"format": "byte"
},
"pubKey": {
"type": "object",
"properties": {
"ed25519": {
"type": "string",
"format": "byte"
},
"secp256k1": {
"type": "string",
"format": "byte"
}
},
"title": "PublicKey defines the keys available for use with Validators"
},
"votingPower": {
"type": "string",
"format": "int64"
},
"proposerPriority": {
"type": "string",
"format": "int64"
}
}
},
"totalVotingPower": {
"type": "string",
"format": "int64"
}
}
}
}
},
"commonHeight": {
"type": "string",
"format": "int64"
},
"byzantineValidators": {
"type": "array",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string",
"format": "byte"
},
"pubKey": {
"type": "object",
"properties": {
"ed25519": {
"type": "string",
"format": "byte"
},
"secp256k1": {
"type": "string",
"format": "byte"
}
},
"title": "PublicKey defines the keys available for use with Validators"
},
"votingPower": {
"type": "string",
"format": "int64"
},
"proposerPriority": {
"type": "string",
"format": "int64"
}
}
}
},
"totalVotingPower": {
"type": "string",
"format": "int64"
},
"timestamp": {
"type": "string",
"format": "date-time"
}
},
"description": "LightClientAttackEvidence contains evidence of a set of validators attempting to mislead a light client."
}
}
}
}
}
},
"lastCommit": {
"type": "object",
"properties": {
"height": {
"type": "string",
"format": "int64"
},
"round": {
"type": "integer",
"format": "int32"
},
"blockId": {
"type": "object",
"properties": {
"hash": {
"type": "string",
"format": "byte"
},
"partSetHeader": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"format": "int64"
},
"hash": {
"type": "string",
"format": "byte"
}
},
"title": "PartsetHeader"
}
},
"title": "BlockID"
},
"signatures": {
"type": "array",
"items": {
"type": "object",
"properties": {
"blockIdFlag": {
"type": "string",
"enum": [
# --- truncated at 32 KB (213 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cosmos/refs/heads/main/json-schema/cosmos-base-tendermint.json