Supported Clients
starknode-kit supports multiple client implementations for both Ethereum and Starknet networks.
Why Multiple Clients?
Running diverse client implementations is crucial for network health and resilience. Client diversity prevents single points of failure and reduces the impact of bugs in any one implementation.
Ethereum Clients
To run an Ethereum node, you need both an execution client and a consensus client. They work together to validate and process Ethereum blocks post-merge.
Execution Clients
Handle transaction execution and state management
- • Geth (Go)
- • Reth (Rust)
Consensus Clients
Handle proof-of-stake consensus mechanism
- • Lighthouse (Rust)
- • Prysm (Go)
Starknet Clients
Starknet clients allow you to run a Starknet full node, enabling interaction with the Starknet Layer 2 network.
Starknet Clients
Full node implementations for Starknet
- • Juno (Go) - Full node client
- • Starknet Validator - Validator client for staking
Client Combinations
Popular client combinations for Ethereum nodes:
Execution | Consensus | Characteristics |
---|---|---|
Geth | Lighthouse | Most popular, well-tested |
Reth | Lighthouse | High performance, modern |
Geth | Prysm | Stable, feature-rich |
Reth | Prysm | Performance-focused |
Choosing Clients
Execution Clients
Geth
- ✅ Most widely used and tested
- ✅ Excellent documentation
- ✅ Large community support
- ✅ Stable and reliable
- ⚠️ Higher resource usage
- ⚠️ Larger disk footprint
Reth
- ✅ Excellent performance
- ✅ Lower disk usage
- ✅ Modern codebase (Rust)
- ✅ Fast sync times
- ⚠️ Newer, less battle-tested
- ⚠️ Smaller community
Consensus Clients
Lighthouse
- ✅ Fast and efficient
- ✅ Low resource usage
- ✅ Great documentation
- ✅ Active development
- ✅ Written in Rust
Prysm
- ✅ Feature-rich
- ✅ Good performance
- ✅ Strong community
- ✅ Comprehensive tooling
- ✅ Written in Go
Starknet Clients
Juno
- ✅ Official full node client
- ✅ Well-maintained
- ✅ Fast sync
- ✅ Active community
- ✅ Required for Starknet validator
Resource Requirements by Client
Client | RAM | Disk | CPU |
---|---|---|---|
Geth | 16+ GB | ~1.2 TB | 4+ cores |
Reth | 16+ GB | ~900 GB | 4+ cores |
Lighthouse | 8+ GB | ~200 GB | 2+ cores |
Prysm | 8+ GB | ~250 GB | 2+ cores |
Juno | 8+ GB | ~300 GB | 2+ cores |
💡 Recommendation
For most users, we recommend Reth + Lighthouse for Ethereum (best performance) and Juno for Starknet.
Client Diversity
Client diversity is critical for network health. If a single client has a bug and it's used by the majority of nodes, it could cause network issues or even finality problems.
Current client distribution matters! Consider using minority clients to help decentralize the network.
Switching Clients
You can switch clients at any time:
- Stop your current clients:
starknode-kit stop
- Remove old client:
starknode-kit remove --execution_client geth
- Add new client:
starknode-kit add --execution_client reth
- Start nodes:
starknode-kit start
⚠️ Note
Switching clients may require re-syncing from scratch, which can take several days. Plan accordingly and ensure you have sufficient disk space.