Solana/更多开发者工具/导言

期末前的倒数第二节课, 教室里阳光有些慵懒. 学生把笔在指间转得飞快, 人却在发呆.

学生: "教授, 我写了点合约, 也会发交易了. 我想我对 solana 网络有个基本的了解了. 但我总觉得缺点什么?"

教授: "你的疑惑是正常的, 因为你缺少对 solana 社区工具的了解. 你不好奇吗? 现在 solana 开发团队在做什么, 社区里的其它人在做什么, 社区里还有哪些好用的工具?"

学生: "先说 anchor 吧, 我总听人说它是 solana 链上程序开发的神器?"

教授: "没错! Anchor 是为 solana rust 合约准备的开发框架. 它提供了账户校验, 序列化, idl, 测试框架等一整套工具, 极大降低了心智负担. 用 anchor, 你能更清晰地描述程序接口, 自动生成客户端, 写测试也像搭乐高一样. 如果你要写链上程序, anchor 是首选."

学生: "那如果我想实现一个前端网站要跟合约交互, 该用谁?"

教授: "这就轮到 solana/web3.js 登场了. 它是浏览器和 node.js 里最常用的 sdk, 和钱包生态(如 phantom)贴合紧密. 创建交易, 签名, 发送, 订阅事件, 前端一条龙."

学生: "我还想要偷窥, 不, 是查询链上数据, 该用谁?"

教授: "那就是 solana-py. 它是 python 社区的 sdk, 适合写运维脚本, 数据处理, 离线任务, 也能发交易, 查账户, 跑批量任务. 和数据科学工具链亲和力很强. 如果你要把区块链数据丢进 pandas 里揉一揉, python 会让你事半功倍."

学生: "听起来三位各司其职."

教授: "还有各种区块浏览器与 rpc 服务: 快速确认交易与日志, 排查问题就靠它们."

学生: "这么多工具, 我怕学起来会很难."

教授: "记住: 工具的价值不在于完全学会如何使用, 而在当你想解决问题时, 你知道该用谁."

学生举起拳头比了个加油的手势.

学生: "谢谢教授!"

教授: "去做点有趣的东西吧. 下次上课, 你来给我演示."