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, and- bzznamespaces are not available