Replies: 1 comment 2 replies
-
Hi @akoptelov. Thanks for your question. The RPC versions are for identifying incompatible RPCs within a protocol version. During a hard fork, we are upgrading the protocol version entirely. As such, any node running the upgraded protocol version will also be running upgraded RPCs as well, so there is no need to support or be able to negotiate down to the prior RPC version from before the hard fork. In some sense, you can think about the actual version of the RPC body to be the |
Beta Was this translation helpful? Give feedback.
-
Hi, I have a question regarding Mina RPC bin_prot encoding and versions pre and post hard fork.
I can see that the RPC
get_transition_chain_proof
has version 1 in bothcompatible
anddevelop
branches (here and here). That looks fine as the same versions are used. Still bin_prot encoding of e.g. the query will be different. Indeed, in Mina V1 the state hash has version encoded, while in V2 it does not.Here is a query from
mainnet
:Note that
01
byte at address0x21
representing the version, followed by 32 bytes of the hash,Here's a query from
berkeleynet
:Here the state hash starts right after query length, at address
0x21
I'm not sure if this is an issue for Mina itself (I'm not sure how hard fork transition will happen, if there will be a need to support both pre- and post fork messages in a single program), but this is an issue for our tool that analyses Mina traffic, as currently it can support either pre-fork traffic, or post-fork.
My question is, shouldn't the version be changed in case of bin_prot representation is different?
Beta Was this translation helpful? Give feedback.
All reactions