Bitcoin Cash (BCH) thrives on decentralization, transparency, and robust infrastructure. One of the most powerful tools for developers, researchers, and enthusiasts is a block explorer—a window into the blockchain that allows real-time tracking of transactions, blocks, and addresses. With Bitcoin Verde, you can run your own private, full-featured Bitcoin Cash block explorer while contributing to network diversity and resilience.
Unlike standard node implementations, Bitcoin Verde is a ground-up reimagining of the BCH protocol in Java. It’s more than just a node—it’s a full blockchain explorer, SPV wallet backend, Electrum server, stratum server, and development library—all in one.
👉 Discover how to set up your own secure Bitcoin Cash node today.
Why Bitcoin Verde Matters for BCH Network Health
The strength of any blockchain lies in its implementation diversity. Currently, Bitcoin Cash relies heavily on a single dominant full-node implementation—Bitcoin Cash Node, a fork of Bitcoin Core. While reliable, this concentration introduces risk: undiscovered bugs could affect consensus if they go unnoticed across homogeneous systems.
Bitcoin Verde addresses this by offering a unique, independent implementation of the Bitcoin Cash protocol. Written from scratch in Java, it avoids shared codebases and potential inherited vulnerabilities. This diversification ensures that if one implementation misinterprets a rule, it will create an incompatible block—leading to a temporary fork that resolves naturally, preserving long-term network integrity.
This kind of healthy disagreement is essential for decentralized systems. It enables real-world testing of protocol rules and strengthens consensus over time.
Key Features of Bitcoin Verde
Bitcoin Verde isn’t just another node—it's a multi-purpose platform designed for developers, miners, and service providers.
✅ Full Node & Blockchain Explorer
Sync with the BCH network, validate every block and transaction, and explore the chain through an intuitive web interface accessible at http://localhost:8080.
✅ SQL-Based Blockchain Storage
Unlike traditional nodes that store data in flat files or LevelDB, Bitcoin Verde uses a MariaDB SQL database. This enables advanced querying capabilities such as:
- Tracking P2PKH vs P2SH output ratios
- Analyzing transaction volume trends over time
- Investigating orphaned or forked chains
✅ Fork-Aware Architecture
All blockchain forks and orphaned blocks are stored as BlockchainSegments using a nested set model. This allows efficient traversal and visualization of alternative chains—critical for auditing network behavior during reorganizations.
✅ Unlimited Mempool (Disk-Based)
Unconfirmed transactions are written directly to disk with referential integrity. This means:
- No memory-based mempool limits
- Resilience during high-load events
- Support for complex transaction graphs (including unconfirmed parents)
Transactions spending unknown outputs are held in a dependency queue until their ancestors arrive—enabling seamless propagation even in congested scenarios.
✅ Electrum & Stratum Server Support
- Electrum Server: Compatible with Electron Cash wallets via the Electrum protocol (as of v2.2.0)
- Stratum Server: Enables ASIC mining coordination; includes a basic mining pool framework
✅ Multi-Threaded Design
Every component—from networking to validation—is multi-threaded. This architecture allows higher throughput than single-threaded clients, especially under stress conditions.
Getting Started: Setup on Linux / Mac OS X
To deploy Bitcoin Verde on your private server:
- Clone the repository
Run the build script:
./make.shThis creates the
out/directory, compiles the app, copies dependencies, and generates startup scripts.Start the full node:
./out/bin/NODE config.jsonLaunch the block explorer:
./out/bin/EXPLORER config.json- Access the UI at http://localhost:8080/status/
For Windows users: Bitcoin Verde is not officially supported but can be run via Git Bash following Linux instructions.
👉 Learn how to secure and scale your node infrastructure now.
Configuration & Security Best Practices
Security is paramount when exposing any node to the public internet. Follow these guidelines:
- Never run as root
- Do not expose private keys to servers hosting the explorer
- Use reverse proxies (e.g., Nginx) to route port 80 → 8080 instead of running on privileged ports
- Enable SSL/TLS using PKCS-formatted certificates
Critical Configuration Options
| Module | Setting | Purpose |
|---|---|---|
database | useEmbeddedDatabase=1 | Runs MariaDB internally |
bitcoin | maxPeerCount=32 | Limits inbound connections |
explorer | port=8080 | Web UI access |
explorer | tlsPort=4443 | HTTPS support |
bitcoin | enableBlockPruning=0 | Maintain full-node status |
Modify settings in out/config.json. Note: Database credentials can only be changed before first launch.
Available Modules
Bitcoin Verde supports modular execution for flexibility:
| Module | Function |
|---|---|
| NODE | Syncs and validates the blockchain |
| EXPLORER | Web interface for searching blocks, txs, addresses |
| ELECTRUM | Serves Electrum-compatible wallets |
| STRATUM | Coordinates miners; includes pool logic |
| VALIDATE | Re-checks synced chain for corruption |
| DATABASE | Direct DB access for debugging |
| ADDRESS | Generates secure private keys and addresses |
| MINER | Test-block generator for development |
Each module is launched via its script in the out/bin/ folder.
RPC Interface: Control Your Node Programmatically
Bitcoin Verde includes a JSON-based RPC system on port 8334, supporting both read (GET) and write (POST) operations.
Example Queries
Get latest block header:
{
"method": "GET",
"query": "BLOCK_HEADER"
}Check transaction details:
{
"method": "GET",
"query": "TRANSACTION",
"parameters": {
"hash": "917A95AADA7B17A10661CAA2EE379E05CD816E9AB9E5C7651A371909B7222812"
}
}Gracefully shut down node:
{
"method": "POST",
"query": "SHUTDOWN"
}Full method list includes balance checks, UTXO inspection, difficulty reporting, and live event hooks via ADD_HOOK.
Advanced Capabilities
🔍 SLP Token Support
Built-in detection and validation for Simple Ledger Protocol (SLP) tokens:
IS_SLP_TRANSACTION: Checks format complianceIS_VALID_SLP_TRANSACTION: Validates full DAGSLP_TOKEN_ID: Retrieves token identifier
🛠️ Native Performance Enhancements
Uses libsecp256k1 for fast ECDSA signature verification (optional). Falls back to Bouncy Castle if not available.
💾 Optional Data Trimming (Experimental)
Enable trimBlocks to delete spent outputs older than 144 blocks—reducing disk usage but disabling full-node functionality.
Frequently Asked Questions (FAQ)
Q: Can I use Bitcoin Verde as a wallet backend?
A: Yes! As an Electrum server, it supports SPV wallets like Electron Cash. Address indexing enables fast balance lookups.
Q: Is it safe to host publicly?
A: Yes—if secured properly. Never run as root or expose private keys. Use firewalls and SSL/TLS encryption.
Q: Does it support mining pools?
A: The stratum server includes basic pool functionality and is under active development.
Q: How does it handle reorganizations?
A: Since all forks are tracked and validated, switching chains requires no reprocessing—only mempool cleanup.
Q: What makes it different from Bitcoin Core?
A: Full SQL storage, Java implementation, unlimited mempool, built-in explorer, Electrum/stratum support, and fork visualization.
Q: Can I query historical data easily?
A: Absolutely. SQL backend enables complex analytical queries across the entire chain history.
Final Thoughts: Build a Better BCH Infrastructure
Bitcoin Verde empowers users to take control of their blockchain experience. Whether you're building services, analyzing data, or supporting network decentralization, running your own node with integrated exploration tools gives you unmatched insight and reliability.
With features like SQL-backed analytics, Electrum compatibility, and modular design, Bitcoin Verde stands out as one of the most versatile BCH node solutions available.
👉 Start building decentralized applications on a secure blockchain foundation.