reddio-com / itachi

A high performance decentralized modular sequencer for Starknet
GNU General Public License v3.0
18 stars 9 forks source link

feature: Complete starknet RPC v0.7.0 [issues#39] #73

Closed haisenCx closed 3 months ago

haisenCx commented 3 months ago

close #39

Mainly completed the adaptation of itachi to Starknet version 0.7 RPC: https://github.com/starkware-libs/starknet-specs/blob/v0.7.0_rc/starknet_vs_ethereum_node_apis.md

Additional Notes: 1.Added a Pebble DB to store stateUpdate data during block generation. The primary key is blockNum. This is mainly used for the RPC method: getStateUpdate. If a block does not have stateDiff, it will not be stored. 2.Modified the format of blockHash during commit to facilitate the conversion between Felt and Hash in Starknet. This ensures that there is no information loss when converting between Felt and uint256. Without this handling, users would lose 4 bits of information when using Starknet RPC for uint252->256 bit conversion. 3.Added some type codes in the cairo/types.go file required for version 0.7 RPC. The code is sourced from the v0.11.9-3-g4e6dcd72 version of Juno.