⚠️Blast API (blastapi.io) ends Oct 31. Migrate to Dwellir and skip Alchemy's expensive compute units.
Switch Today →
Skip to main content

rollup_getInfo

Get zkEVM rollup configuration on the Linea network. This method provides essential information about the zkEVM rollup parameters, settings, and operational details.

Overview#

Linea zkEVM is a Layer 2 scaling solution that uses zero-knowledge proofs to provide high throughput while maintaining Ethereum's security. The rollup configuration includes important parameters for:

  • Batch Processing: How transactions are batched and processed
  • Proof Generation: Zero-knowledge proof parameters
  • Bridge Operations: L1 ↔ L2 asset bridging configuration
  • Network Parameters: Chain ID, block times, and operational settings

Parameters#

This method typically takes no parameters, but implementation may vary. Please refer to the official Linea documentation for the most current parameter specifications.

Returns#

Rollup configuration object containing comprehensive information about the zkEVM rollup setup.

Implementation Example#

curl -X POST https://api-linea-mainnet-archive.n.dwellir.com/YOUR_API_KEY \
-H "Content-Type: application/json" \
-d '{
"jsonrpc": "2.0",
"method": "rollup_getInfo",
"params": [],
"id": 1
}'

Response Example#

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"mode": "zkevm",
"chainId": "0xe708",
"publicInputHash": "0x...",
"stateRoot": "0x...",
"withdrawalRoot": "0x...",
"batchCommitment": "0x...",
"prover": "0x...",
"version": "1.0.0"
}
}

Understanding Linea zkEVM Configuration#

Key Components#

  1. Mode: Operating mode of the rollup (zkEVM)
  2. Chain ID: Network identifier (59144 for mainnet, 59140 for testnet)
  3. State Root: Root hash of the current state tree
  4. Batch Commitment: Commitment to the current batch of transactions
  5. Prover: Address of the proof generation system
  6. Version: Current version of the rollup implementation

zkEVM Architecture#

  • Proof System: Zero-knowledge proofs validate transaction execution
  • Data Availability: Transaction data posted to Ethereum L1
  • EVM Compatibility: Full compatibility with Ethereum Virtual Machine
  • Finality: Probabilistic finality on L2, cryptographic finality via proofs

Common Use Cases#

1. Network Health Monitoring#

// Monitor rollup health and performance
async function monitorRollupHealth(analyzer) {
const healthCheck = async () => {
const status = await analyzer.getComprehensiveRollupStatus();

const alerts = [];

// Check block production
if (status.current_state.block_age_seconds > 300) {
alerts.push({
type: 'stale_blocks',
severity: 'warning',
message: 'Blocks are older than expected'
});
}

// Check gas utilization
if (status.current_state.gas_utilization > 95) {
alerts.push({
type: 'high_utilization',
severity: 'info',
message: 'Network experiencing high usage'
});
}

return {
status: alerts.length === 0 ? 'healthy' : 'warning',
alerts: alerts,
metrics: status.current_state
};
};

return healthCheck;
}

2. Integration Compatibility Check#

def check_integration_compatibility(analyzer):
"""Check if current rollup config is compatible with integration"""

status = analyzer.get_comprehensive_rollup_status()
rollup_info = status['rollup_config']

compatibility = {
'evm_compatible': True, # zkEVM is fully EVM compatible
'supported_features': [
'Standard Ethereum transactions',
'Smart contract deployment',
'ERC token standards',
'Event emission and filtering',
'eth_call and eth_estimateGas',
'Debug and trace methods'
],
'limitations': [
'Proof generation delays for finality',
'L1 data posting affects costs',
'Bridge withdrawals require waiting period'
],
'recommended_practices': [
'Use standard Ethereum tooling',
'Account for L1 fee components',
'Plan for withdrawal delays',
'Monitor gas price fluctuations'
]
}

return compatibility

3. Performance Benchmarking#

// Benchmark rollup performance characteristics
async function benchmarkRollupPerformance(analyzer) {
const benchmark = {
testDuration: '10 minutes',
metrics: {},
recommendations: []
};

// Monitor for performance data
const performanceData = await analyzer.monitorRollupPerformance(10);

benchmark.metrics = {
avgBlockTime: performanceData.block_production.average_block_time,
gasUtilization: performanceData.gas_utilization.average,
healthScore: performanceData.network_health.health_score
};

// Generate recommendations
if (benchmark.metrics.avgBlockTime > 15) {
benchmark.recommendations.push(
'Block times are longer than expected - monitor network congestion'
);
}

if (benchmark.metrics.gasUtilization > 80) {
benchmark.recommendations.push(
'High gas utilization - consider transaction timing optimization'
);
}

return benchmark;
}

Integration Considerations#

Development#

  • Tooling: Use standard Ethereum development tools (Hardhat, Truffle, Remix)
  • RPC Compatibility: Full JSON-RPC compatibility with additional rollup-specific methods
  • Gas Estimation: Account for both L2 execution and L1 data posting costs

Production Deployment#

  • Security: Leverage zkEVM's cryptographic security guarantees
  • Monitoring: Monitor both L2 state and L1 proof submission
  • Bridge Integration: Plan for canonical bridge usage and withdrawal delays

User Experience#

  • Transaction Speed: Fast L2 confirmation with eventual L1 finality
  • Cost Optimization: Optimize transaction data to minimize L1 costs
  • Bridge UX: Clear communication about withdrawal timeframes

Need help? Contact our support team or check the Linea documentation.