| Field | Type | Label | Description |
| address | bytes |
|
|
| balance | uint64 |
|
|
| nonce | uint64 | FIXME: Discuss. 32 or 64 bits? |
|
| pubhashes | bytes | repeated |
|
| transaction_hashes | bytes | repeated |
|
| Field | Type | Label | Description |
| header | BlockHeader |
|
|
| transactions | Transaction | repeated |
|
| dup_transactions | Transaction | repeated | TODO: Review this |
| vote | Transaction | repeated |
|
| genesis_balance | GenesisBalance | repeated | This is only applicable to genesis blocks |
| Field | Type | Label | Description |
| block_number | uint64 | Header |
|
| epoch | uint64 |
|
|
| timestamp | Timestamp | FIXME: Temporary |
|
| hash_header | bytes |
|
|
| hash_header_prev | bytes |
|
|
| reward_block | uint64 |
|
|
| reward_fee | uint64 |
|
|
| merkle_root | bytes |
|
|
| hash_reveal | bytes |
|
|
| stake_selector | bytes |
|
| Field | Type | Label | Description |
| header | BlockHeader |
|
|
| transaction_count | uint64 |
|
| Field | Type | Label | Description |
| block_number | uint64 |
|
|
| hash_header | bytes |
|
| Field | Type | Label | Description |
| block_number_hashes | BlockMetaData | repeated |
|
| Field | Type | Label | Description |
| id | uint64 |
|
|
| ttl | uint64 |
|
| Field | Type | Label | Description |
| aes512_symkey | bytes |
|
|
| prf512_seed | bytes |
|
|
| xmss_address | bytes |
|
|
| xmss_signature | bytes |
|
| Field | Type | Label | Description |
| address | string | Address is string only here to increase visibility |
|
| balance | uint64 |
|
| Field | Type | Label | Description |
| address | bytes |
|
| Field | Type | Label | Description |
| state | AddressState |
|
| Field | Type | Label | Description |
| index | uint64 | Indicates the index number in mainchain |
|
| after_hash | bytes | request the node that comes after hash |
| Field | Type | Label | Description |
| node_info | NodeInfo |
|
|
| block | Block |
|
| Field | Type | Label | Description |
| node_info | NodeInfo |
|
|
| known_peers | Peer | repeated |
|
| Field | Type | Label | Description |
| filter | GetLatestDataReq.Filter |
|
|
| offset | uint32 |
|
|
| quantity | uint32 |
|
| Field | Type | Label | Description |
| blockheaders | BlockHeaderExtended | repeated |
|
| transactions | Transaction | repeated |
|
| transactions_unconfirmed | Transaction | repeated |
|
| Field | Type | Label | Description |
| info | NodeInfo |
|
| Field | Type | Label | Description |
| query | bytes |
|
| Field | Type | Label | Description |
| found | bool |
|
|
| address_state | AddressState |
|
|
| transaction | Transaction |
|
|
| block | Block |
|
| Field | Type | Label | Description |
| node_info | NodeInfo |
|
|
| epoch | uint64 |
|
|
| uptime_network | uint64 | Indicates uptime in seconds |
|
| stakers_count | uint64 |
|
|
| block_last_reward | uint64 |
|
|
| block_time_mean | uint64 |
|
|
| block_time_sd | uint64 |
|
|
| coins_total_supply | uint64 |
|
|
| coins_emitted | uint64 |
|
|
| coins_atstake | uint64 |
|
FIXME: This is legacy. Plan removal
| Field | Type | Label | Description |
| hash | bytes | FIXME: rename this to block_headerhash |
|
| type | string | FIXME: type/string what is this |
|
| stake_selector | bytes |
|
|
| block_number | uint64 |
|
|
| prev_headerhash | bytes |
|
|
| reveal_hash | bytes |
|
| Field | Type | Label | Description |
| version | string |
|
|
| state | NodeInfo.State |
|
|
| num_connections | uint32 |
|
|
| num_known_peers | uint32 |
|
|
| uptime | uint64 | Uptime in seconds |
|
| block_height | uint64 |
|
|
| block_last_hash | bytes |
|
|
| stake_enabled | bool |
|
|
| network_id | string |
|
| Field | Type | Label | Description |
| ip | string |
|
| Field | Type | Label | Description |
| transaction_signed | Transaction |
|
| Field | Type | Label | Description |
| some_response | string |
|
| Field | Type | Label | Description |
| peers | Peer | repeated |
|
TODO: Avoid using timestamp until the github issue is fixed
import "google/protobuf/timestamp.proto";
| Field | Type | Label | Description |
| seconds | int64 |
|
|
| nanos | int32 |
|
| Field | Type | Label | Description |
| type | Transaction.Type |
|
|
| nonce | uint64 |
|
|
| addr_from | bytes |
|
|
| public_key | bytes |
|
|
| transaction_hash | bytes |
|
|
| ots_key | uint32 |
|
|
| signature | bytes |
|
|
| transfer | Transaction.Transfer |
|
|
| stake | Transaction.Stake |
|
|
| coinbase | Transaction.CoinBase |
|
|
| latticePK | Transaction.LatticePublicKey |
|
|
| duplicate | Transaction.Duplicate |
|
|
| vote | Transaction.Vote |
|
| Field | Type | Label | Description |
| addr_to | bytes |
|
|
| amount | uint64 |
|
| Field | Type | Label | Description |
| block_number | uint64 |
|
|
| prev_header_hash | uint64 |
|
|
| coinbase1_hhash | bytes |
|
|
| coinbase2_hhash | bytes |
|
|
| coinbase1 | Transaction |
|
|
| coinbase2 | Transaction |
|
| Field | Type | Label | Description |
| pk_kyber | bytes |
|
|
| pk_tesla | bytes |
|
| Field | Type | Label | Description |
| activation_blocknumber | uint64 |
|
|
| slavePK | bytes |
|
|
| hash | bytes |
|
| Field | Type | Label | Description |
| addr_to | bytes |
|
|
| amount | uint64 |
|
|
| fee | uint64 |
|
| Field | Type | Label | Description |
| block_number | uint64 |
|
|
| hash_header | bytes |
|
| Field | Type | Label | Description |
| address_from | bytes |
|
|
| address_to | bytes |
|
|
| amount | uint64 | IMPORTANT: These should be expressed in Shor |
|
| fee | uint64 | IMPORTANT: These should be expressed in Shor |
|
| xmss_pk | bytes |
|
|
| xmss_ots_index | uint64 |
|
| Field | Type | Label | Description |
| transaction_unsigned | Transaction |
|
| Field | Type | Label | Description |
| address | string | FIXME move to bytes |
|
| mnemonic | string |
|
|
| xmss_index | int32 |
|
| Field | Type | Label | Description |
| wallets | Wallet | repeated |
|
| Name | Number | Description |
| ALL | 0 | |
| BLOCKHEADERS | 1 | |
| TRANSACTIONS | 2 | |
| TRANSACTIONS_UNCONFIRMED | 3 |
| Name | Number | Description |
| UNKNOWN | 0 | |
| UNSYNCED | 1 | |
| SYNCING | 2 | |
| SYNCED | 3 | |
| FORKED | 4 |
| Name | Number | Description |
| UNKNOWN | 0 | |
| TRANSFER | 1 | |
| STAKE | 2 | |
| DESTAKE | 3 | |
| COINBASE | 4 | |
| LATTICE | 5 | |
| DUPLICATE | 6 | |
| VOTE | 7 |
This is a place holder for testing/instrumentation APIs
| Method Name | Request Type | Response Type | Description |
This service describes the P2P API
| Method Name | Request Type | Response Type | Description |
| GetNodeState | GetNodeStateReq | GetNodeStateResp | |
| GetKnownPeers | GetKnownPeersReq | GetKnownPeersResp | |
| GetBlock | GetBlockReq | GetBlockResp | rpc PublishBlock(PublishBlockReq) returns (PublishBlockResp); |
This service describes the Public API used by clients (wallet/cli/etc)
| Method Name | Request Type | Response Type | Description |
| GetNodeState | GetNodeStateReq | GetNodeStateResp | |
| GetKnownPeers | GetKnownPeersReq | GetKnownPeersResp | |
| GetStats | GetStatsReq | GetStatsResp | |
| GetAddressState | GetAddressStateReq | GetAddressStateResp | |
| GetObject | GetObjectReq | GetObjectResp | |
| GetLatestData | GetLatestDataReq | GetLatestDataResp | |
| TransferCoins | TransferCoinsReq | TransferCoinsResp | |
| PushTransaction | PushTransactionReq | PushTransactionResp |
| Field | Type | Label | Description |
| version | string |
|
|
| grpcProto | string |
|
| Method Name | Request Type | Response Type | Description |
| GetNodeInfo | GetNodeInfoReq | GetNodeInfoResp |
| .proto Type | Notes | C++ Type | Java Type | Python Type |
| double | double | double | float | |
| float | 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 |
| 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 |
| uint32 | Uses variable-length encoding. | uint32 | int | int/long |
| uint64 | Uses variable-length encoding. | uint64 | long | int/long |
| sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
| sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
| fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
| fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
| sfixed32 | Always four bytes. | int32 | int | int |
| sfixed64 | Always eight bytes. | int64 | long | int/long |
| bool | bool | boolean | boolean | |
| string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
| bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |