A Foundry-inspired multi-chain development tool suite for local blockchain development and testing.
Chain Forge provides a unified interface for working with multiple blockchain networks locally. Currently supports Solana, with Bitcoin and Ethereum support planned for future releases.
- 🚀 Multi-chain support - Unified interface for different blockchain networks
- 🔑 Account management - BIP39/BIP44 key derivation with pre-funded accounts
- 🛠️ CLI tools - Easy-to-use command-line interface for each chain
- 📦 TypeScript packages - Programmatic access via NPM packages
- ⚙️ Configuration system - Flexible TOML-based configuration
cargo install chain-forge-solana-cliyarn install @chain-forge/solana
# or
yarn add @chain-forge/solana# Start local Solana validator with 10 pre-funded accounts
cf-solana start --accounts 10 --balance 100
# List all accounts
cf-solana accounts
# Fund an account
cf-solana fund <address> 50.0
# Show configuration
cf-solana configimport { SolanaClient } from '@chain-forge/solana';
const client = new SolanaClient({
accounts: 10,
initialBalance: 100
});
await client.start();
const accounts = await client.getAccounts();
console.log(`First account: ${accounts[0].publicKey}`);
await client.fundAccount(accounts[0].publicKey, 5);
await client.stop();chain-forge/
├── chains/ # Chain-specific implementations
│ ├── solana/ # Solana support
│ ├── bitcoin/ # Future: Bitcoin support
│ └── ethereum/ # Future: Ethereum support
├── crates/ # Common utilities
│ ├── common/ # Shared traits and utilities
│ ├── config/ # Configuration system
│ └── cli-utils/ # CLI helpers
└── npm/ # TypeScript packages
Create a chain-forge.toml in your project:
[solana.default]
rpc_url = "http://localhost:8899"
accounts = 10
initial_balance = 100.0
port = 8899
[solana.devnet]
rpc_url = "https://api.devnet.solana.com"For development documentation, see the .claude directory.
# Build all crates
cargo build --workspace
# Run tests
cargo test --workspace
# Build Solana CLI
cargo build -p chain-forge-solana-cliMIT OR Apache-2.0
