Files
explorer-monorepo/docs/NETWORK_PERMISSIONS_CHECK.md

124 lines
3.6 KiB
Markdown

# 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
- **ChainID**: 138
- **Consensus**: QBFT
- **Block Period**: 2 seconds
- **Epoch Length**: 30,000 blocks
- **Block Gas Limit**: 30,000,000
- **RPC**: http://192.168.11.250:8545
- **Explorer**: https://explorer.d-bis.org
---
## 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