https://github.com/txtx/surfpool
Surfpool is the best place to train before surfing Solana.
https://github.com/txtx/surfpool
blockchain graphql infrastructure-as-code solana web3
Last synced: 3 months ago
JSON representation
Surfpool is the best place to train before surfing Solana.
- Host: GitHub
- URL: https://github.com/txtx/surfpool
- Owner: txtx
- License: apache-2.0
- Created: 2025-01-29T13:59:14.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-27T03:19:58.000Z (3 months ago)
- Last Synced: 2025-02-27T04:25:50.394Z (3 months ago)
- Topics: blockchain, graphql, infrastructure-as-code, solana, web3
- Language: Rust
- Homepage: https://surfpool.run
- Size: 1.61 MB
- Stars: 27
- Watchers: 3
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![]()
### TL;DR
`surfpool` is to Solana what `anvil` is to Ethereum: a blazing fast ⚡️ in-memory testnet that has the ability to point-fork Solana mainnet instantly.
## Introduction
Surfpool provides a blazing-fast, developer-friendly simulation of Solana Mainnet that runs seamlessly on your local machine. It eliminates the need for high-performance hardware while maintaining an authentic testing environment.
Whether you're developing, debugging, or educating yourself on Solana, Surfpool gives you an instant, self-contained network that dynamically fetches missing Mainnet data as needed—no more manual account setups.
## Features
- Fast & Lightweight – Runs smoothly on any machine without heavy system requirements.
- Dynamic Account Fetching – Automatically retrieves necessary Mainnet accounts during transaction execution.
- Anchor Integration – Detects Anchor projects and deploys programs automatically.
- Educational & Debug-Friendly – Provides clear insights into transaction execution and state changes.
- Easy Installation – Available via Homebrew, Snap, and direct binaries.
## Installation
Install Surfpool CLI with:
```console
# macOS (Homebrew)
brew install txtx/taps/surfpool# Linux (Snapstore)
snap install surfpool
```Verify installation:
```console
surfpool --version
```## Usage
Start a local Solana network with:
```console
surfpool run
```If inside an Anchor project, Surfpool will:
- Automatically generate infrastructure as code (similar to Terraform).
- Deploy your Solana programs to the local network.
- Provide a clean, structured environment to iterate safely.
The command:
```console
surfpool run --help
```Is documenting all the options available.
## Crypto Infrastructure as Code: A New Standard in Web3
Infrastructure as code (IaC) transforms how teams deploy and operate Solana programs:
- Declarative & Reproducible – Clearly defines environments, making deployments consistent.
- Auditable – Security teams can review not just the code of your Solana programs, but the way you will be deploying and operating your protocol.
- Seamless Transition to Mainnet – Test with the exact infrastructure that will go live.
With Surfpool, every developer learns to deploy Solana programs the right way—scalable, secure, and production-ready from day one.
## Architecture & How to Contribute
Surfpool is built on the low-level solana-svm API, utilizing the excellent LiteSVM wrapper. This approach provides greater flexibility and significantly faster boot times, ensuring a smooth developer experience.
We are actively developing Surfpool and welcome contributions from the community. If you'd like to get involved, here’s how:
- Explore and contribute to open issues: [GitHub Issues](https://github.com/txtx/surfpool/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22help%20wanted%22)
- Join discussions and collaborate via our [Telegram Channel](https://t.me/surfpool)
Your contributions help shape the future of Surfpool, making it an essential tool for Solana developers worldwide.