Files
explorer-monorepo/docs/NETWORK_PERMISSIONS_CHECK.md

3.6 KiB

Network Permissions Check - ChainID 138

Date: 2025-01-12
Purpose: Check if network requires special permissions for contract creation


Summary

Comprehensive check for network permission requirements and contract creation restrictions on ChainID 138.


Checks Performed

1. Genesis Configuration

  • File: smom-dbis-138-proxmox/config/genesis.json
  • Consensus: QBFT (Istanbul BFT)
  • Findings: No explicit permission/whitelist settings found in genesis

2. Permission Contracts

  • Checked common permission contract addresses
  • Result: No permission contracts found

3. Recent Deployments

  • Scanned last 200 blocks for successful contract creations
  • Result: No successful deployments found
  • Implication: May indicate network restrictions or low activity

4. Transaction History

  • Analyzed deployer's transaction patterns
  • Result: Regular transactions work, contract creation fails

5. Network Type

  • Consensus: QBFT (Quorum Byzantine Fault Tolerance)
  • Block Period: 2 seconds
  • Epoch Length: 30,000 blocks

Key Findings

Network Configuration

  • Consensus: QBFT (permissioned blockchain)
  • Block Gas Limit: 30,000,000
  • No Explicit Permissions: Genesis doesn't show permission requirements

Deployment Failures

  • All contract deployment attempts fail
  • Transactions use all available gas (out of gas)
  • Contract bytecode size: ~4.7KB (well under 24KB limit)

Possible Causes

  1. QBFT Network Restrictions: Permissioned networks may restrict contract creation
  2. Gas Limit Issues: Contract deployment requires more gas than available
  3. Bytecode Optimization: Contract may need optimization
  4. Network-Specific Rules: ChainID 138 may have custom restrictions

QBFT Network Characteristics

QBFT (Quorum Byzantine Fault Tolerance) networks are typically:

  • Permissioned: Validators are known and controlled
  • May Have Restrictions: Contract creation may require validator approval
  • Consensus-Based: Transactions may need validator consensus

Potential Restrictions

  1. Contract Creation: May require validator approval
  2. Gas Limits: May have lower effective limits than block limit
  3. Bytecode Size: May have stricter size limits
  4. Access Control: May require whitelisted addresses

Recommendations

Option 1: Check Validator Configuration

  • Verify if contract creation requires validator approval
  • Check if deployer address needs to be whitelisted
  • Contact network administrators for permission

Option 2: Optimize Contract

  • Use Solidity optimizer with high settings
  • Reduce contract bytecode size
  • Remove unnecessary features

Option 3: Use Alternative Deployment

  • Deploy via network admin/validator
  • Use Remix IDE with network admin access
  • Request network administrator to deploy

Option 4: Verify Network Rules

  • Check network documentation
  • Contact network operators
  • Verify if contract creation is allowed for non-validators

Network Details


Status

Checks Complete: All permission checks performed
⚠️ No Explicit Permissions Found: Genesis doesn't show permission requirements
Restrictions Unknown: Network may have implicit restrictions

Recommendation: Contact network administrators to verify if contract creation requires special permissions or validator approval.


Last Updated: 2025-01-12