SuperAPI AI 工具集

creator-paywall

通用与其它

查看项目

更新于 10-16 02:31

技能介绍

用途:为创作者已有的应用、仪表盘、内容或 API 增加加密订阅付费访问,只做两件事——钱包认证与订阅验证,定位为可嵌入的能力而非平台。

主要能力:用户连接钱包并签署 SIWE 消息后建立会话(钱包即身份);选择套餐(链、代币、按月或按年)后向创作者钱包转账,提交 txHash 由后端做链上验证。匹配规则是付款地址必须等于登录钱包,因此普通转账即可对应到用户,无需备注或订单号。支持 Ethereum、Base、BSC,代币为原生币或任意 ERC20(含创作者自定义代币)。技术栈为 Node/Express + viem,约 900 行代码,SQLite 存储且可替换,提供 REST API 与演示前端。验证规则包括交易确认且成功、收款方为创作者钱包、发送方为登录钱包、代币匹配所选套餐、金额不小于套餐价格、txHash 未重复使用。

使用方式:先获取创作者收款钱包(默认其 Starchild 智能体 EVM 钱包,调用 wallet_info 取 ethereum 地址),再运行初始化脚本:bash skills/creator-paywall/scripts/init.sh <target_dir> <creator_wallet> [jwt_secret] [siwe_domain],jwt_secret 缺省自动生成,siwe_domain 默认 localhost。随后编辑 config.js 中的 PLANS 设置链、代币、月付/年付价格,再以 node src/server.js 启动(端口需与 .env 中 PORT 一致)。集成到自己产品时使用 requireAuth、requireSubscription 两个中间件,替换 src/db.js 即可接入自有数据库,会话通过 /api/login 返回的 Bearer token 工作,适配 SPA 与 iframe。

适用场景与限制:面向按订阅(月/年)收费的创作者访问控制。不适合法币或银行卡支付,不支持自动循环扣款(到期需用户再次付款续期),不做按用量计费。注意事项:预览在 iframe 中运行会拦截 cookie,前端因此使用 localStorage + Authorization: Bearer,不应改为 cookie;预览路径 /preview/<id>/ 下所有 API 调用必须用相对路径;钱包在 iframe 内常被拦截,实际签名或转账需在新标签页、钱包内置浏览器或公网地址中打开。原生币无法通过 getLogs 扫描,需提交 txHash 确认;设计上无后台轮询,仅按需确认;金额比较使用 >= 而非 ==。上生产需设置强 JWT_SECRET 与真实 SIWE_DOMAIN,替换自有 RPC,并将 SQLite 换成生产数据库。