祖母经营 Ajo 互助会,我造了一个「锅不会跑掉」的版本
来源:dev.to — 2026-09-06
📋 概述
DEV「慷慨周挑战」投稿。作者的祖母是尼日利亚市场女性,多年经营 ajo(又称 esusu)——一种轮流储蓄圈:五人每轮固定金额、轮流领钱。真正的失败模式不是诈骗,而是有人拿着不属于自己的钱在压力下无法按时补上,圈子只能吞下损失。作者用 Solana 造了 Ajo Chain,把托管(escrow)、轮换顺序与违约追踪全放上链,替换掉那个所有人必须信任的「持锅人」。叠床架构刻意极简:任何被删掉都不出问题的技术一律砍掉,OneLLM 结果甚至为此砍掉了 ElevenLabs。
🔑 核心要点
- Solana 是执行层:每个小组有托管 PDA 和固定轮换顺序,四个指令 create_group/contribute/mark_default/release_payout,发钱前在 handler 内直接校验全员已缴且收款人确为数组中的下一位,而非仅靠 account 约束
- 智能合约能告诉你钱没到,却解释不了为什么——于是加了一个窄职责的 Gemini 代理,只读链上争议证据、起草人话说明(区分「转账失败了」与「根本没尝试支付」),它只起草、由人裁决
- 用 litesvm 而非本地验证器做测试:无需 faucet 无网络的三个进程内测试覆盖了完整轮次、故意违约后补缴仍完成轮次、拒绝非成员与重复缴款
- Cloudflare Worker+D1 把链上状态同步到 D1 供人读懂,GET /status 公开页展示轮换顺序、违约标记、每笔交易的 Explorer 链接与争议说明——那才是整个提交的核心
- 砍掉了 ElevenLabs:免费档挡住库声音的 API 访问,自克隆声音上传又不保存,作者选择诚实地交付而不是为一个集成再耗几小时;还自曝差点把 Gemini 写的不转义 HTML 上线,注入真实 script 标签验证修复
💡 金句
Every player is somebody's previous shift — delete the Solana layer and you're back to trusting one person with the pot.
👍 0
👎 0
← 返回 dev.to 首页