Surfpool:Solana 上的 Anvil,本地开发闪电般⚡️

Surfpool:Solana 上的 Anvil,本地开发闪电般⚡️

对于以太坊开发者来说,Anvil 无疑是本地开发调试的利器。现在,Solana 生态也迎来了它的"Anvil"------ Surfpool!还在为搭建复杂的本地测试环境、等待缓慢的交易确认而烦恼吗?Surfpool 提供了一个速度飞快、对开发者极其友好的 Solana 主网模拟环境,它能像变魔术一样立即分叉主网,让你的开发、调试和学习体验提升到一个全新的水平。

什么是 Surfpool

surfpool 之于 Solana 就像 anvil 之于以太坊:一个速度极快的⚡️内存测试网,能够立即分叉 Solana 主网。

Surfpool 提供了一个速度极快、开发者友好的 Solana 主网模拟环境,可在您的本地计算机上无缝运行。它无需高性能硬件,同时保持了真实的测试环境。

无论您是在开发、调试还是学习 Solana,Surfpool 都能为您提供一个即时、独立的网络,可以根据需要动态获取缺失的主网数据 - 无需再手动设置帐户。

特点

  • 快速且轻量------可在任何机器上顺利运行,无需繁重的系统要求。
  • 动态账户获取------在交易执行期间自动检索必要的主网账户。
  • Anchor 集成 -- 检测 Anchor 项目并自动部署程序。
  • 教育和调试友好 - 对交易执行和状态变更提供明确的见解。
  • 易于安装 - 可通过Homebrew,Snap和Direct Binaries获得。

实操

安装 surfpool

bash 复制代码
brew install txtx/taps/surfpool

更多详情请查看:docs.surfpool.run/install

验证安装

bash 复制代码
surfpool --version
surfpool 0.9.6

查看帮助信息

bash 复制代码
surfpool --help
Where you train before surfing Solana

Usage: surfpool <COMMAND>

Commands:
  start        Start Simnet
  completions  Generate shell completions scripts
  run          Run, runbook, run!
  ls           List runbooks present in the current direcoty
  cloud        Txtx cloud commands
  mcp          Start MCP server
  help         Print this message or the help of the given subcommand(s)

Options:
  -h, --help     Print help
  -V, --version  Print version

启动本地 Solana 网络

bash 复制代码
surfpool start                                                                                                                                         
surfpool start解释说明示意图

部署程序(合约)

bash 复制代码
shenqi-box on  master [?] via 🦀 1.88.0 on 🐳 v28.2.2 (orbstack) took 42.4s 
➜ make deploy PROGRAM=metaplex_nft CLUSTER=localnet
Verifying program configurations...
All programs verified.
Building all programs: ...
    Finished `release` profile [optimized] target(s) in 0.34s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.33s
     Running unittests src/lib.rs (/Users/qiaopengjun/Code/Solana/shenqi-box/target/debug/deps/metaplex_nft-0247b4c2bcc257db)
    Finished `release` profile [optimized] target(s) in 0.12s
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.12s
     Running unittests src/lib.rs (/Users/qiaopengjun/Code/Solana/shenqi-box/target/debug/deps/shenqi_box-d4eb7a1fecd4c1d5)
Deploying program [metaplex_nft] to cluster: localnet...
Deploying cluster: http://localhost:8899
Upgrade authority: /Users/qiaopengjun/.config/solana/id.json
Deploying program "metaplex_nft"...
Program path: /Users/qiaopengjun/Code/Solana/shenqi-box/target/deploy/metaplex_nft.so...
Program Id: DZSHuLMpZhofLsUebMrAPPEe5vh6vmtFnLUWmszmcvtL

Signature: 3GMumfjyC4Cv5cZm1xuAFz4qLc7swjetAL6As4DmRC5TiVADhMVEGoKXPMN6NYeAUsfdBFLziNCnE6ktsV65HGzX

Deploy success

部署成功后,Surfpool 会返回清晰的日志记录。如图所示,其中的交易签名3GMum...HGzX)是此次部署在链上的唯一凭证,让开发者可以轻松追踪和排查问题,整个过程一目了然。

总结

总而言之,Surfpool 是一个为 Solana 开发者量身打造的强大工具。它通过提供一个轻量级、速度极快且功能强大的内存测试网,完美解决了传统本地测试环境搭建困难、运行缓慢的痛点。其动态账户获取、与 Anchor 的无缝集成以及清晰的交易洞察等特性,使得无论是开发新应用、调试复杂合约还是学习 Solana 内部机制,都变得前所未有的高效和简单。如果你是一名 Solana 开发者,Surfpool 绝对是你的工具箱中不可或缺的神器。

参考

相关推荐
学长毕业设计6 小时前
基于SpringBoot的公益基金管理系统(源码+文档+讲解视频)
java·spring boot·后端
东小西6 小时前
【SAA实战】第 3 篇 · 工具调用全攻略:把业务能力交给 Agent 自己调度
java·后端·spring
东小西6 小时前
【SAA实战】第 4 篇 · Agent 短期记忆:saver 让 Agent 跨轮记得住(threadId 隔离)
java·后端·spring
阿kun要赚马内7 小时前
MySQL 索引基础
后端·mysql
码事漫谈7 小时前
我啥都能做,却不知道做什么了
后端
geovindu7 小时前
CSharp: 万年历
开发语言·后端·c#·.net
磐链科技8 小时前
Web3钱包开发扩展比特币生态:BRC20与Runes协议的集成实践
web3
独泪了无痕9 小时前
SpringBoot Event事件机制,轻松实现业务解耦
spring boot·后端·spring
悲且狂10 小时前
SpringBoot项目改造注意事项(旧项目框架复用)
java·spring boot·后端
敲代码的嘎仔11 小时前
28届后端开发-海康威视日常实习一面(已OC)
java·开发语言·后端·面试·海康威视·实习·大厂