If you are testing EVM contracts against state that already exists on testnet or mainnet, fork testing may suit you better than a fresh local network. Forking with Hardhat or Foundry lets you run against deployed contracts and Hedera System Contracts without redeploying them locally.
What Solo runs
Start a local network
Solo requires Docker, Node.js 22 or later, and npm 9.8.1 or later. It provisionskubectl, Helm, and kind for you at deploy time, so you do not need to install those yourself. On macOS, Docker Desktop must be running before you deploy, because the daemon does not start on its own. Review the Solo system readiness guide for the full requirements.
solo one-shot multi destroy.
Default endpoints
Theone-shot single deploy command exposes the following endpoints on Solo 0.63 and later:
Generated accounts and their keys are written to
~/.solo/one-shot-<deployment-name>/accounts.json. The default deployment name is one-shot, so the default path is ~/.solo/one-shot-one-shot/accounts.json. Run solo one-shot show deployment to look up your deployment name.
These are defaults, not guarantees. Solo reaches these services through Port assignments also changed in Solo 0.63. Deployments on 0.62 or earlier use
kubectl port-forward. If a port is already taken, Solo picks the next free one and logs Using available port <port>. The actual assignments print at the end of solo one-shot single deploy, and you can look them up later with:7546 for the relay, 50211 for consensus gRPC, 8081 for the mirror node REST API, and 8080 for the explorer.Next steps
Set up the Solo CLI
Install Solo with npm, start a network, and verify it is running.
Point an SDK at your network
Configure the JavaScript, Java, or Go SDK against local endpoints.
Solo quickstart
The full installation and deployment reference maintained by the Solo team.
Using Solo with EVM tools
Connect MetaMask, Hardhat, and Foundry to a local Solo network.
Fork testing
Test EVM contracts against existing testnet or mainnet state instead of a fresh network.