标杆案例:Stripe (Pay with Crypto)、Solana Pay、Sphere。结合 400ms 出块,为独立开发者或跨国创作者做即时分账收款台。
- 1 天 MVP 建议:活动门票即扫即开、数字商品无感微支付。
不搞自嗨编程,先验证需求,再借力官方 Skill 护栏下达结构化指令。
30 分钟内跑通一个真正的 Solana Pay 扫码收银台,并一键部署至全球边缘网络。
前端 UI、Tailwind、组件交互,你熟悉的 Web2 技术依然发挥核心作用。不同的是,后端的私有数据库与转账结算被替换为去中心化的 Solana 共享网络计算机。
| 系统构件 | Web2 传统架构 | Solana Web3 架构 |
|---|---|---|
| 身份认证 | 账号密码 / 手机验证码 / Session Cookies | Wallet 钱包(管理非对称公私钥,用户主动签名授权) |
| 业务逻辑 | 中心化服务器(Spring Boot / Node.js / Go) | Program 链上程序(无状态智能合约,直接由网络执行) |
| 状态存储 | 私有关系型数据库(MySQL / PostgreSQL) | Account 链上账户(网络公开可寻址、存有真实余额与数据的单元) |
| 前后端通讯 | HTTP REST API / WebSocket | RPC 节点(JSON-RPC 协议,前端直接向节点发起读写广播) |
connect() 只代表获得了用户的公共地址。若要验证身份,必须由钱包对特定消息完成密码学签名并在后端验证。与以太坊将代码与状态混合存储在合约内不同,Solana 采用纯粹的“代码与数据解耦”架构。程序只负责执行规则,所有数据存在独立的账户中。
在 Solana 上,程序(智能合约)本身是只读的。当你想为活动收款时,你只需要让系统程序(System Program)去修改两个账户的 lamports 余额,完全不必编写、审计或部署自定义智能合约!
创建数据账户只需保留最低 SOL 余额以达到免租金(Rent-Exempt)阈值,交易手续费每次仅需不足 $0.001。
SOL 的余额直接记录在原生账户的 lamports 字段中;而像 USDC 或社区代币这样的 SPL Token,则通过 Mint 与 Token Account 体系清晰拆分。
Solana 的一笔 Transaction(交易)可以打包多个 Instruction(指令)。如果其中任何一条指令失败,整笔交易自动全部回滚,保证原子性。
processed:节点刚收到并打包出块,最快(约 400ms),但在极端网络分叉下有轻微重组可能。confirmed(推荐默认):全网超过 66% 验证节点投票确认,亚秒级生效,商业收银台推荐监听此状态。finalized:超过 31 个区块确认,不可逆转的最终状态。PDA(Program Derived Address)是 Solana 的独创设计。它是通过程序 ID 加上一组自定义 Seeds(如用户名、订单号)计算得出的特殊公钥,它不落在椭圆曲线上,因此没有任何人拥有其私钥。
在现实业务中,你经常需要一个“托管金库”或“公信账户”来存押金、质押奖池。由于 PDA 没有私钥,黑客无法通过盗取私钥卷走资金,只有对应的程序本身(通过代码逻辑)才能给它的转账签名授权!
我们选择一个最具现实代表性的场景:黑客松现场的咖啡能量补给站。摊主输入金额生成二维码,顾客使用手机 Phantom 扫码支付 0.01 Devnet SOL,大屏幕需在 1 秒内感应到账!
在传统扫码支付中,商家必须搭建服务器等待微信/Stripe 发送 HTTP Webhook 回调。而在 Solana Pay 中:
reference。solana:<收款公钥>?amount=0.01&reference=&label=成都咖啡能量站 。reference 作为非签名的只读账户附加在转账指令中上链。client.rpc.getSignaturesForAddress(reference)。只要链上一出现该公钥,100% 确定该笔订单已支付,大屏立刻亮绿!本课程制作的收银台 MVP 已一并发布上线。点击上方按钮或访问 /demo,输入或一键填充测试地址即可当场生成 Solana Pay 0.01 SOL 收款码并在 Devnet 上体验扫码确认闭环!
很多开发者被 AI 坑过,因为大模型喜欢盲目调用 5 年前已废弃的旧版类库。官方在 solana.com/zh/skills 提供了专属的 AI 开发技能包,杜绝幻觉。
skills/solana-dev/references/frontend.md。约束 AI 必须采用 Tree-shakable、函数式的最新 @solana/kit,而非庞大笨重的 web3.js 1.x。skills/solana-dev/references/payments.md。详细指导 AI 如何正确构造符合 Solana Pay 开放标准的付款请求与 reference 链上核验逻辑。给 AI 下指令就像填空。先准备一套通用、结构化的提示词骨架,再将具体的业务变量填充进去,AI 产出的代码就会极其稳定可靠。
【角色定义】 你是一个精通 [指定官方开发标准] 的前端工程师。
【上下文规则】 先读 [.agents/skills/... 规范路径],严格采用 [@solana/kit 最新写法],严禁使用 [淘汰类库]。
【业务输入】 基于当前 Next.js 模板,实现一个 [具体业务场景]:
- 输入参数:[商户收款公钥]、[金额]、[网络环境 Devnet]。
- 核心机制:为每笔订单调用生成 [临时唯一 reference 公钥],拼接符合 [Solana Pay 规范] 的 URL,并渲染二维码。
【输出与验收】
- 添加 1.5 秒 RPC 轮询监听,一旦检出签名立刻切换为 [绿色成功状态] 并展示 [Explorer 凭证]。
- 严禁索取或硬编码私钥,确保 `pnpm typecheck` 0 报错。
【角色定义】 你是一个精通 Solana Pay 与 @solana/kit 的全栈工程师。
【上下文规则】 遵循 `.agents/skills/solana-dev/references/payments.md`。使用 `@solana/kit`,严禁使用旧版 web3.js 1.x。
【业务输入】 在 `app/components/actions/solana-pay-card.tsx` 实现咖啡摊收银台:
- 依赖:使用 `qrcode.react` 渲染二维码。
- 机制:组件挂载时调用 `generateKeyPairSigner()` 生成临时公钥作为 `reference`。
- 协议:拼接标准 URL `solana:<商户地址>?amount=0.01&reference=
【输出与验收】
- 轮询 `client.rpc.getSignaturesForAddress(reference)`,检出签名后跳出“支付成功”并提供 Explorer 链接。
- 保留一个本机一键模拟转账按钮作为保底,确保 `pnpm typecheck` 0 错误。
做完 Demo 并不算结束,下午路演时评委需要能在自己的手机上亲自打开。我们使用 Cloudflare 的官方部署能力,几十秒内将 Next.js 部署到全球边缘网络。
线上演示主页:https://solana-vibe-chengdu.pages.dev ↗
实战 Demo 页面:https://solana-vibe-chengdu.pages.dev/demo ↗
从 Solana 产品库 与 实际案例 寻找灵感。挑选一个细分切口,用 1 天时间做出最小闭环。
标杆案例:Stripe (Pay with Crypto)、Solana Pay、Sphere。结合 400ms 出块,为独立开发者或跨国创作者做即时分账收款台。
标杆案例:x402 原生微支付、Pay.sh。基于 HTTP 402 状态码,AI Agent 自主按次为调用的 API 和算力支付稳定币。
标杆案例:Actions & Blinks、Dialect。把转账、投票或铸造操作解构为一条 URL,可在 X (Twitter) 或 Telegram 聊天框内直接展开成交互卡片。
标杆案例:Token Extensions、xStocks。利用转账钩子与合规白名单,将股票与现实资产上链映射。
由主办方 Solar (Solana 中文社群) 联合 @magicblock 组织的特别赛事现已正式启动!今天做出的项目,不仅能参加 Crypto World's Fair,还可以同时角逐 Blitz 专项大奖!
“为 Crypto World's Fair 开发的项目,同时提交到 Blitz v9!” 两个赛事的截稿时间完全吻合(10 月 12 日)。只要你的项目涉及实时交互、对局逻辑或 VRF 随机数,一份代码提交两个赛道,双份赢奖机会!
黑客松拼的是执行力。把有用的工具放在手边,下午 13:30 准时开冲!