Block Rotation
Introduction
SKALE Chain Block Rotation allows to limit the space on hard drive which is occupied by blocks. The current default value is 12.6GB.
Each SKALE Chain maintains a minimum to maximum number of blocks, which are 80% and 100% of the above value respectively.
Rotation is performed across 4 databases. Each database contains:
-
blocks
-
transactions and their receipts
-
log blooms
-
"best" (lastBlockHash, best block of the canonical chain)
-
"chainStart" (firstBlockHash, used when full chain isn’t available, for example after snapshot import)
API Changes
Calls | Changes |
---|---|
eth_getBlockByNumber/eth_getBlockByHash |
may return null |
eth_getBlockTransactionCountByNumber/eth_getBlockTransactionCountByHash |
may return null |
eth_getUncleCountByBlockNumber/eth_getUncleCountByBlockHash |
may return null |
eth_getTransactionByBlockHashAndIndex/eth_getTransactionByBlockNumberAndIndex |
may return null |
eth_getUncleByBlockHashAndIndex/eth_getUncleByBlockNumberAndIndex |
may return null |
eth_getTransactionByHash |
may return null |
eth_getTransactionReceipt |
may return null |
eth_getFilterLogs/eth_getLogs |
will treat removed blocks as if they have 0 logs |