Skip to content

Protocol Documentation

Table of Contents

Top

koinos/rpc/contract_meta_store/contract_meta_store_rpc.proto

contract_meta_store_request

Field Type Label Description
reserved koinos.rpc.reserved_rpc
get_contract_meta get_contract_meta_request

contract_meta_store_response

Field Type Label Description
reserved koinos.rpc.reserved_rpc
error koinos.rpc.error_response
get_contract_meta get_contract_meta_response

get_contract_meta_request

Field Type Label Description
contract_id bytes

get_contract_meta_response

Field Type Label Description
meta koinos.contract_meta_store.contract_meta_item

Top

koinos/rpc/rpc.proto

error_response

Field Type Label Description
message string
data string

reserved_rpc

Top

koinos/rpc/transaction_store/transaction_store_rpc.proto

get_transactions_by_id_request

Field Type Label Description
transaction_ids bytes repeated

get_transactions_by_id_response

Field Type Label Description
transactions koinos.transaction_store.transaction_item repeated

transaction_store_request

Field Type Label Description
reserved koinos.rpc.reserved_rpc
get_transactions_by_id get_transactions_by_id_request

transaction_store_response

Field Type Label Description
reserved koinos.rpc.reserved_rpc
error koinos.rpc.error_response
get_transactions_by_id get_transactions_by_id_response

Top

koinos/rpc/chain/chain_rpc.proto

chain_request

Field Type Label Description
reserved koinos.rpc.reserved_rpc
submit_block submit_block_request
submit_transaction submit_transaction_request
get_head_info get_head_info_request
get_chain_id get_chain_id_request
get_fork_heads get_fork_heads_request
read_contract read_contract_request
get_account_nonce get_account_nonce_request
get_account_rc get_account_rc_request
get_resource_limits get_resource_limits_request

chain_response

Field Type Label Description
reserved koinos.rpc.reserved_rpc
error koinos.rpc.error_response
submit_block submit_block_response
submit_transaction submit_transaction_response
get_head_info get_head_info_response
get_chain_id get_chain_id_response
get_fork_heads get_fork_heads_response
read_contract read_contract_response
get_account_nonce get_account_nonce_response
get_account_rc get_account_rc_response
get_resource_limits get_resource_limits_response

get_account_nonce_request

Field Type Label Description
account bytes

get_account_nonce_response

Field Type Label Description
nonce bytes

get_account_rc_request

Field Type Label Description
account bytes

get_account_rc_response

Field Type Label Description
rc uint64

get_chain_id_request

get_chain_id_response

Field Type Label Description
chain_id bytes

get_fork_heads_request

get_fork_heads_response

Field Type Label Description
last_irreversible_block koinos.block_topology
fork_heads koinos.block_topology repeated

get_head_info_request

get_head_info_response

Field Type Label Description
head_topology koinos.block_topology
last_irreversible_block uint64
head_state_merkle_root bytes
head_block_time uint64

get_resource_limits_request

get_resource_limits_response

Field Type Label Description
resource_limit_data koinos.chain.resource_limit_data

read_contract_request

Field Type Label Description
contract_id bytes
entry_point uint32
args bytes

read_contract_response

Field Type Label Description
result bytes
logs string repeated

submit_block_request

Field Type Label Description
block koinos.protocol.block

submit_block_response

Field Type Label Description
receipt koinos.protocol.block_receipt

submit_transaction_request

Field Type Label Description
transaction koinos.protocol.transaction
broadcast bool

submit_transaction_response

Field Type Label Description
receipt koinos.protocol.transaction_receipt

Top

koinos/rpc/block_store/block_store_rpc.proto

add_block_request

Field Type Label Description
block_to_add koinos.protocol.block
receipt_to_add koinos.protocol.block_receipt

add_block_response

block_store_request

Field Type Label Description
reserved koinos.rpc.reserved_rpc
get_blocks_by_id get_blocks_by_id_request
get_blocks_by_height get_blocks_by_height_request
add_block add_block_request
get_highest_block get_highest_block_request

block_store_response

Field Type Label Description
reserved koinos.rpc.reserved_rpc
error koinos.rpc.error_response
get_blocks_by_id get_blocks_by_id_response
get_blocks_by_height get_blocks_by_height_response
add_block add_block_response
get_highest_block get_highest_block_response

get_blocks_by_height_request

Field Type Label Description
head_block_id bytes
ancestor_start_height uint64
num_blocks uint32
return_block bool
return_receipt bool

get_blocks_by_height_response

Field Type Label Description
block_items koinos.block_store.block_item repeated

get_blocks_by_id_request

Field Type Label Description
block_ids bytes repeated
return_block bool
return_receipt bool

get_blocks_by_id_response

Field Type Label Description
block_items koinos.block_store.block_item repeated

get_highest_block_request

get_highest_block_response

Field Type Label Description
topology koinos.block_topology

Top

koinos/rpc/p2p/p2p_rpc.proto

get_gossip_status_request

get_gossip_status_response

Field Type Label Description
enabled bool

p2p_request

Field Type Label Description
reserved koinos.rpc.reserved_rpc
get_gossip_status get_gossip_status_request

p2p_response

Field Type Label Description
reserved koinos.rpc.reserved_rpc
error koinos.rpc.error_response
get_gossip_status get_gossip_status_response

Top

koinos/rpc/mempool/mempool_rpc.proto

check_pending_account_resources_request

Field Type Label Description
payer bytes
max_payer_rc uint64
rc_limit uint64

check_pending_account_resources_response

Field Type Label Description
success bool

get_pending_transactions_request

Field Type Label Description
limit uint64

get_pending_transactions_response

Field Type Label Description
pending_transactions pending_transaction repeated

mempool_request

Field Type Label Description
reserved koinos.rpc.reserved_rpc
check_pending_account_resources check_pending_account_resources_request
get_pending_transactions get_pending_transactions_request

mempool_response

Field Type Label Description
reserved koinos.rpc.reserved_rpc
error koinos.rpc.error_response
check_pending_account_resources check_pending_account_resources_response
get_pending_transactions get_pending_transactions_response

pending_transaction

Field Type Label Description
transaction koinos.protocol.transaction
disk_storage_used uint64
network_bandwidth_used uint64
compute_bandwidth_used uint64

Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)