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 绝对是你的工具箱中不可或缺的神器。

参考

相关推荐
千码君20166 小时前
Go语言:常量计数器iota的意义
开发语言·后端·golang·状态码·const·iota·常量
IT_陈寒7 小时前
Python开发者必看:这5个鲜为人知的Pandas技巧让你的数据处理效率提升50%
前端·人工智能·后端
豆苗学前端7 小时前
写给女朋友的第一封信,测试方法概论
前端·后端·设计模式
武子康7 小时前
大数据-140 ClickHouse CollapsingMergeTree详解 外部数据源最小闭环HDFS/MySQL/Kafka
大数据·后端·nosql
m0_736927047 小时前
使用 Python 将 PowerPoint 转换为 Word 文档
java·开发语言·后端·职场和发展·c#
杜子不疼.8 小时前
【Rust】路由匹配与参数提取:从 match 语句到 axum 的类型魔法
开发语言·后端·rust
qq_12498707538 小时前
基于Flask的穷游网酒店数据分析系统(源码+论文+部署+安装)
后端·python·flask·毕业设计
稚辉君.MCA_P8_Java8 小时前
Java 基本数据类型 - 四类八种
java·linux·后端·mysql·架构
爱吃烤鸡翅的酸菜鱼8 小时前
如何掌握【Java】 IO/NIO设计模式?工厂/适配器/装饰器/观察者模式全解析
java·开发语言·后端·设计模式·nio
golang学习记9 小时前
替代Postman,Github 38k star,这款API工具彻底火了!
后端