Skip to content

Block Rotation

Block rotation on a SKALE Chain enables a limit on the size of the hard drive space that is occupied by blocks on core consensus nodes and full-sync nodes. The current default size of this space is 12.6 GB.

Each SKALE Chain maintains a minimum to maximum number of blocks, which are the 80% to 100% of the above respectively, meaning the most recent 20% of the blocks.

Each database contains:

  • blocks
  • transactions and their receipts
  • log blooms
  • “best” (lastBlockHash, best block of the canonical chain)
  • “chainStart” (firstBlockHash, use when full chain isn’t available, for example after snapshot import)

API Changes

CallsChanges
eth_getBlockByNumber/eth_getBlockByHashmay return null
eth_getBlockTransactionCountByNumbermay return null
eth_getBlockTransactionCountByHashmay return null
eth_getUncleCountByBlockNumbermay return null
eth_getUncleCountByBlockHashmay return null
eth_getTransactionByBlockHashAndIndexmay return null
eth_getTransactionByBlockNumberAndIndexmay return null
eth_getUncleByBlockHashAndIndexmay return null
eth_getUncleByBlockNumberAndIndexmay return null
eth_getTransactionByHashmay return null
eth_getTransactionReceiptmay return null
eth_getFilterLogswill treat removed blocks as if they have 0 logs
eth_getLogswill treat removed blocks as if they have 0 logs