A powerful blockchain explorer for Ethereum-compatible chains with intelligent transaction and contract classification.
CronoExplorer provides real-time blockchain analysis with advanced transaction classification, contract detection, and user-friendly web interface. It automatically identifies ERC-20, ERC-721, ERC-1155, and T-REX (ERC-3643) contracts and transactions.
- π Smart Transaction Classification: Automatically identifies token transfers, contract interactions, and deployments
- π¦ T-REX Protocol Support: Full detection of ERC-3643 compliant contracts and transactions
- πͺ Multi-Token Support: ERC-20, ERC-721, ERC-1155 detection and analysis
- π Multi-Chain Support: Works with any Ethereum-compatible blockchain
- π Real-time Block Analysis: Live block monitoring with transaction breakdowns
- π― Event Log Decoding: Intelligent parsing of blockchain events and logs
- π High Performance: Optimized RPC calls with smart caching strategies
- π» Modern Web Interface: Clean, responsive Flask-based web application
- Python 3.8 or higher
- Access to Ethereum-compatible RPC endpoint
- Git
-
Clone the repository
git clone https://github.com/yourusername/CronoExplorer.git cd CronoExplorer -
Create virtual environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Configure your chains
# Edit chains.yaml with your RPC endpoints nano chains.yaml -
Run the application
python app.py
-
Open your browser
http://localhost:5001
chains:
Cronos:
rpc_url: "https://evm.cronos.org"
chain_id: 25
name: "Cronos Mainnet"
enabled: true
Ethereum:
rpc_url: "https://mainnet.infura.io/v3/YOUR_API_KEY"
chain_id: 1
name: "Ethereum Mainnet"
enabled: true
Polygon:
rpc_url: "https://polygon-rpc.com"
chain_id: 137
name: "Polygon Mainnet"
enabled: trueCreate a .env file for sensitive configuration:
# Database configuration
DATABASE_URL=sqlite:///instance/cronoexplorer.db
# Flask secret key
SECRET_KEY=your-secret-key-here
# RPC rate limiting
RPC_TIMEOUT=30
MAX_RPC_RETRIES=3- Home Page: View latest blocks with transaction summaries
- Block Details: Click on any block to see detailed transaction analysis
- All Blocks: Browse blocks with pagination and search
- Chain Management: Switch between different blockchain networks
CronoExplorer automatically classifies transactions into:
- Token Transfers: ERC-20, ERC-721, ERC-1155 transfers
- Contract Deployments: New contract creations
- T-REX Interactions: ERC-3643 protocol transactions
- Generic Contracts: Other smart contract interactions
- ETH Transfers: Native cryptocurrency transfers
Each block shows:
- Primary activity type
- Gas efficiency metrics
- Transaction classification breakdown
- Contract creation counts
- Token interaction summaries
CronoExplorer/
βββ app.py # Main Flask application
βββ config.py # Configuration management
βββ core/ # Core classification logic
β βββ contract.py # Contract and transaction classifiers
β βββ queries.py # Blockchain RPC queries
βββ models/ # Database models
βββ services/ # Business logic services
βββ templates/ # HTML templates
βββ static/ # CSS, JS, and static assets
βββ tests.py # Test suite
βββ requirements.txt # Python dependencies
python tests.py- Add chain configuration to
chains.yaml - Test RPC connectivity
- Verify transaction format compatibility
- Transaction classification results are cached for performance
- Block summaries reuse detailed transaction analysis
- Minimizes redundant RPC calls
- Fast contract type detection using event signatures
- Topic0 matching against known event patterns
- ERC-165 interface detection for standard compliance
- Parallel RPC calls where possible
- Lazy classification for non-critical data
- Efficient log parsing and event decoding
We welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.