Node Architecture
Overview of Story’s modular blockchain architecture
Story is a purpose-built modular blockchain fully EVM compatible using Cosmos SDK and CometBFT to achieve fast block time and one-shot finality. A Story node consists of two clients: story-geth
as the execution client (EL) and a story
as the consensus client (CL). These clients communicate via the Engine API interface defined by Ethereum.
story-geth
is a fork of the Geth client, with the addition of the IPGraph Precompile and RIP-7212 precompile. It handles transaction execution, broadcasting and state storage while maintaining full compatibility with the Ethereum Virtual Machine (EVM) and supporting all Ethereum JSON-RPC methods.
story
is built on the Cosmos SDK and CometBFT. The Cosmos SDK provides a modular framework for building blockchain applications, enabling seamless integration of new modules and features while allowing the network to be easily extended and customized. story
client introduces upgrades and additional Cosmos SDK modules to support Engine API integration and novel staking mechanisms. CometBFT, a high-performance, scalable, and secure consensus engine, has been extensively tested within the Cosmos ecosystem. CometBFT and Cosmos SDK communicate through ABCI++ interface(link to ABCI++ spec).
Do not use RANDAO
for pseudo-randomness, instead use onchain VRF (Pyth or
Gelato). Currently, RANDAO
value is set as the parent block hash and thus is
not random for X-1 block.