StateMesh EVM Compatibility
The StateMesh blockchain is built on modified go-ethereum
(geth) architecture, maintaining full EVM compatibility while implementing Fantom's Lachesis DAG-based consensus for enhanced performance.
Core Features
- Complete EVM Support: Deploy and run any Ethereum-compatible smart contracts
- Familiar Development: Use Solidity, existing developer tools, and established standards
- Fast Finality: Transactions finalize in ~1 second compared to Ethereum's 12+ seconds
- Immediate Confirmation: No need to wait for multiple block confirmations
EVM Differences
While maintaining core compatibility, StateMesh's EVM implementation differs in several ways:
Transaction Processing
- Gas Usage: 10% of unspent gas is consumed as a disincentive against excessive gas limits
- Transaction Ordering: Transactions aren't strictly sorted by gas price across the entire block
- Transactions within each event are gas-price sorted
- Events are included based on their topological position in the DAG
Consensus Architecture
- Consensus Mechanism: Asynchronous BFT Proof-of-Stake instead of Ethereum's PoW/PoS
- Block Production: ~1 second blocks with immediate finality
- Pending Blocks: This concept doesn't exist in StateMesh's consensus model
Solidity Implementation Details
The following Solidity global variables behave differently in StateMesh:
Variable | Behavior |
---|---|
block.difficulty | Always returns 0 |
block.gaslimit | Always returns 0xFFFFFFFFFFFF (infinite) |
JSON-RPC API Differences
Block Header Fields
Field | StateMesh Behavior |
---|---|
nonce | Always 0 |
mixHash | Always 0 |
sha3Uncles | Always 0 |
miner | Undefined address |
difficulty | Always 0 |
extraData | Always empty |
gasLimit | Always 0xFFFFFFFFFFFF (infinite) |
receiptsRoot | Always 0 |
timestampNano | New field: block's consensus time in UnixNano |
Unsupported Features
- Pending block retrieval
shh
,db
, andbzz
namespaces are not available