Introduction to Bitcoin Verde
Bitcoin Verde is a comprehensive Java implementation of a Bitcoin Cash (BCH) full node, designed to diversify the BCH network's infrastructure. Unlike the reference client, Bitcoin Verde offers unique features such as:
- Full blockchain storage in an SQL database for advanced querying
- Fork/Orphan tracking with visualization in the block explorer
- Unlimited mempool size with disk persistence
- Multi-threaded architecture for improved transaction processing
๐ Explore Bitcoin Verde's advanced features
Installation Guide
Linux/Mac OS X
- Clone the Bitcoin Verde repository
- Run the build script:
./scripts/make.sh - Start the node:
./out/scripts/node.sh - Access the block explorer at
http://localhost:8080
Windows Compatibility
While not extensively tested on Windows, Bitcoin Verde can run using:
- Install Git Bash
- Follow Linux installation steps within the Git Bash terminal
Key Features Breakdown
Database Architecture
Bitcoin Verde stores blockchain data in a MariaDB database with:
- Nested Set Model for efficient fork/orphan tracking
- Address indexing for instant balance queries
- Optional trimming to reduce storage requirements (disables full node functionality)
| Feature | Benefit | Default Setting |
|---|---|---|
| SQL Storage | Enables complex blockchain queries | Enabled |
| Fork Tracking | Visualizes network consensus changes | Enabled |
| Block Pruning | Reduces storage requirements | Disabled |
Performance Enhancements
- libsecp256k1 integration for faster signature validation
- NativeUnspentTransactionOutputCache for optimized UTXO handling
- Multi-threading across all operations
Module Overview
Bitcoin Verde operates through specialized modules:
| Module | Function | Port |
|---|---|---|
| Full Node | Network synchronization | 8333 |
| Block Explorer | Web interface | 8080 |
| Electrum Server | Wallet compatibility | 50001 |
| Stratum Server | Mining coordination | 3333 |
๐ Learn more about node diversification
Configuration Parameters
Essential Settings
# Database Configuration
database.port=8336
database.maxMemoryByteCount=2GB
# Network Settings
bitcoin.port=8333
bitcoin.maxPeerCount=32
# Explorer Settings
explorer.port=8080
explorer.tlsPort=4443Security Recommendations
- Never run as root
- Use reverse proxy for public-facing explorers
- Regularly update SSL certificates
- Monitor node connections
RPC Protocol
Bitcoin Verde's JSON-RPC interface (port 8334 by default) supports:
Common Commands:
GET TRANSACTION- Retrieve transaction detailsGET BALANCE- Check address balancePOST SHUTDOWN- Graceful node shutdown
Example Request:
{
"method": "GET",
"query": "TRANSACTION",
"parameters": {
"hash": "917A95AADA7B17A10661CAA2EE379E05CD816E9AB9E5C7651A371909B7222812"
}
}Frequently Asked Questions
Q: How does Bitcoin Verde differ from Bitcoin Cash Node?
A: Bitcoin Verde is a ground-up Java implementation offering unique features like SQL storage and comprehensive fork tracking, while Bitcoin Cash Node is a C++ fork of Bitcoin Core.
Q: Can I run Bitcoin Verde alongside other node implementations?
A: Yes, Bitcoin Verde is designed to complement existing infrastructure and increase network implementation diversity.
Q: What are the minimum system requirements?
A: Requirements vary based on configuration, but generally:
- 4GB RAM minimum (8GB recommended)
- 500GB+ storage for full node
- Modern multi-core processor
Q: How do I enable SSL for the block explorer?
A: Configure explorer.tlsKeyFile and explorer.tlsCertificateFile paths in your configuration, using PKCS-formatted keys.
Conclusion
Bitcoin Verde represents a significant advancement in Bitcoin Cash node technology, offering:
- Enhanced query capabilities through SQL storage
- Improved network resilience through implementation diversity
- Advanced visualization of network forks
- Flexible configuration for various use cases
For node operators looking to contribute to network health or researchers needing advanced blockchain analysis tools, Bitcoin Verde provides a powerful alternative to traditional node implementations.