Wharfnet
One-command localnet for EVM, Solana, Starknet, Bitcoin, Litecoin & zkSync — boot every chain your app touches with a single command, fund accounts from a unified faucet, and get standard test tokens deployed at known addresses, then wire it into your integration tests and CI pipelines.
$ wharfnet up ⚓ booting your chains + block explorers… ✔ anvil-1 http://127.0.0.1:8545 evm ✔ anvil-2 http://127.0.0.1:8546 evm ✔ starknet-1 http://127.0.0.1:5050/rpc starknet ✔ solana-1 http://127.0.0.1:8899 solana ✔ bitcoin-1 http://127.0.0.1:18443 bitcoin ✔ litecoin-1 http://127.0.0.1:19443 litecoin ✔ zksync-1 http://127.0.0.1:8011 zksync ready in 4.8s — funded dev accounts, test tokens, explorers $ wharfnet faucet evm 0x70997970…79C8 1000 --token USDC ✔ anvil-1: minted 1,000 USDC ✔ anvil-2: minted 1,000 USDC
wharfnet is the local harbor for your chains. It packages the stitching that
cross-chain and multi-VM teams do by hand — an EVM node, a Solana validator, a
Starknet devnet, a Bitcoin and Litecoin regtest node, a zkSync node, plus a
custom faucet and glue scripts — into one opinionated, reproducible tool.
EVM, Starknet, Solana, Bitcoin/Litecoin, and zkSync boot together behind one config, one manifest, one status.
Funded accounts, fixed-address test tokens, a faucet, chain control, and forking.
Deterministic every boot — identical accounts and token addresses for CI.
The same verbs work whether the chain is EVM, Starknet, Solana, Bitcoin, Litecoin, or zkSync.
One faucet command tops up native coin and every test token on any chain.
Runs from pinned Docker images; up waits for readiness, down tears it all down.
Import wharfnet::testkit to read endpoints, accounts, and ABIs into Rust tests.
Using wharfnet locally
A single wharfnet up boots EVM, Starknet, Solana, Bitcoin/Litecoin, and zkSync
chains side by side — each with funded dev accounts and, where the chain supports
them, test tokens at fixed addresses and a built-in block explorer:
wharfnet up # chains + a block explorer each
wharfnet up --bare # just the chains
wharfnet status # what's running, with RPC URLs and accountsEverything is deterministic by default, so tests and CI get an identical environment every run — with opt-in persistence when you want to pick up where you left off.
Get started:
- Getting Started — install, boot, and configure
- Chains — every supported chain at a glance, then one guide each:
- EVM — Anvil, test tokens, canonical contracts, chain control
- Starknet — starknet-devnet, Cairo test tokens, forking
- Solana — surfpool, SPL tokens, WebSocket RPC, Studio explorer
- Bitcoin — bitcoind regtest, funded coinbase wallet, faucet, btc-rpc-explorer
- Litecoin — litecoind regtest, funded coinbase wallet, faucet, ltc-rpc-explorer
- zkSync — anvil-zksync, funded dev accounts, native-ETH faucet, chain control, forking