Get desktop application:
View/edit binary Protocol Buffers messages
Used in:
, , , , , , , ,Used in:
, , , , , , , , , , ,Responses are sent ordered by the order given in the request.
Used in:
Fin is sent after the peer sent all the data or when it encountered a block that it doesn't have its header.
Used in:
Used in:
Compressed in base64 representation.
Used in:
Used in:
Used in:
Responses are sent ordered by the order given in the request.
Fin is sent after the peer sent all the data or when it encountered a block that it doesn't have its classes.
Used in:
Used in:
Present only if the nonce was updated
Present only if the contract was deployed or replaced in this block.
optimized for flat storage, not through a trie (not sharing key prefixes)
Used in:
Used in:
Present only if the class is Cairo1
Used in:
Used in:
Used in:
Responses are sent ordered by the order given in the request.
Fin is sent after the peer sent all the data or when it encountered a block that it doesn't have its events.
Used in:
, , , , , , , , , , , , , , , , , , , , , , ,mark the end of a stream of messages TBD: may not be required if we open a stream per request.
Used in:
, , , ,(message has no fields)
Used in:
, , , , , , , , , , , , , , , , , ,Used in:
, , , ,to allow interleaving from several nodes
Used in:
Used in:
Used in:
sent to all peers (except the ones this was received from, if any). for a fraction of peers, also send the GetBlockHeaders response (as if they asked for it for this block)
Used in:
needed to know the height, so as to how many nodes to expect in a proof.
and also when receiving all leaves, how many to expect
Used in:
Used in:
Used in:
Used in:
, , , ,Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
Used in:
, ,Used in:
Used in:
Note: commitments may change to be for the previous blocks like comet/tendermint hash of block header sent to L1
Used in:
For the structure of the block hash, see https://docs.starknet.io/documentation/architecture_and_concepts/Network_Architecture/header/#block_hash
This can be deduced from context. We can consider removing this field.
Encoded in Unix time.
Patricia root of contract and class patricia tries. Each of those tries are of height 251. Same as in L1. Later more trees will be included
The state diff commitment returned by the Starknet Feeder Gateway
For more info, see https://community.starknet.io/t/introducing-p2p-authentication-and-mismatch-resolution-in-v0-12-2/97993 The leaves contain a hash of the transaction hash and transaction signature.
By order of execution. TBD: required? the client can execute (powerful machine) and match state diff
By order of issuance. TBD: in receipts?
By order of issuance. This is a patricia root. No need for length because it's the same length as transactions.
Starknet version
for now, we assume a small consensus, so this fits in 1M. Else, these will be repeated and extracted from this message.
can be more explicit here about the signature structure as this is not part of account abstraction
Used in:
Responses are sent ordered by the order given in the request.
All of the messages related to a block need to be sent before a message from the next block is sent.
Multiple contract diffs for the same contract may appear continuously if the diff is too large or if it's more convenient.
Fin is sent after the peer sent all the data or when it encountered a block that it doesn't have its state diff.
This is a transaction that is already accepted in a block. Once we have a mempool, we will define a separate message for BroadcastedTransaction.
Used in:
,Used in:
Used in:
Used in:
see https://external.integration.starknet.io/feeder_gateway/get_transaction?transactionHash=0x41d1f5206ef58a443e7d3d1ca073171ec25fa75313394318fc83a074a6631c3
Used in:
Used in:
Used in:
see https://external.integration.starknet.io/feeder_gateway/get_transaction?transactionHash=0x29fd7881f14380842414cdfdd8d6c0b1f2174f8916edcfeb1ede1eb26ac3ef0
Used in:
Used in:
Used in:
see https://external.integration.starknet.io/feeder_gateway/get_transaction?transactionHash=0x41906f1c314cca5f43170ea75d3b1904196a10101190d2b12a41cc61cfd17c
Used in:
Used in:
Used in:
TBD: can support a flag to return tx hashes only, good for standalone mempool to remove them, or any node that keeps track of transaction streaming in the consensus.
Responses are sent ordered by the order given in the request. The order inside each block is according to the execution order.
Fin is sent after the peer sent all the data or when it encountered a block that it doesn't have its transactions.
Used in:
Used in:
, , ,Used in:
We use a type field to distinguish between prevotes and precommits instead of different messages, to make sure the data, and therefore the signatures, are unambiguous between Prevote and Precommit.
This is optional since a vote can be NIL.
Used in: