chia-walletconnect

🌱 Telegram Chia 钱包安全验证

基于 WalletConnect 和 MintGarden API 的 Telegram 钱包验证工具,支持 Chia 区块链所有权证明,无需离开 Telegram 即可完成安全签名验证。

收藏
8.4k
安装
2.2k
版本
v1.0.0
CLS 安全性认证2026-05-09
点击查看完整报告 >

使用说明

该技能作为一个 Telegram Mini App(Web App)运行,用户无需离开 Telegram 即可完成整个验证流程。当用户在 Telegram 中触发 /verify 命令时,机器人会提供一个 Web App 按钮,点击后会在应用内打开验证界面。用户通过 WalletConnect v2 协议连接 Sage 钱包,对包含随机 nonce 和时间戳的挑战消息进行数字签名,最后通过 MintGarden 的 API 验证签名有效性。整个过程约需 5-10 秒,实现了无缝的 Web3 身份验证体验。

显著优点在于安全性设计突出,采用挑战-响应机制(Challenge-Response)防止重放攻击,时间戳限制在 5 分钟内有效,且整个过程不接触用户私钥,仅要求对特定消息签名。架构轻量,支持一键部署到 Vercel 或 Netlify,适合快速集成。应用场景广泛,支持 NFT 门控社群、空投资格验证、DAO 投票身份认证等多种 Web3 场景。代码规范完善,包含完整的 CLI 工具用于本地测试和开发调试。

潜在缺点与局限性主要体现在对外部服务的强依赖性,包括 MintGarden API 和 WalletConnect 网络,任一方服务中断都会影响功能。前端需要从 CDN 加载 Telegram WebApp SDK 和 WalletConnect 库,存在外部脚本依赖风险。默认配置中包含示例 WalletConnect Project ID,生产环境必须替换为自己的 ID。此外,示例代码使用内存存储验证状态,不适合高并发生产环境,需要自行实现 Redis 或数据库持久化。

适合的目标群体主要面向 Chia 生态的 Telegram 社群运营者、NFT 项目方和 DAO 组织者。适合需要验证用户钱包所有权以授予特定权限的场景,如私密群组准入、空投白名单资格确认、治理投票权重计算等。同时也适合开发者作为 WalletConnect 与 Telegram Web App 集成的参考实现,了解如何在 Mini App 环境中实现区块链交互。

使用风险方面,网络依赖风险较高,验证流程涉及多个外部节点(Telegram 服务器、WalletConnect 中继、MintGarden API),任一环节网络延迟或故障都会影响用户体验。CDN 脚本完整性风险,虽然来源可靠但缺乏 SRI(Subresource Integrity)校验。API 速率限制风险,MintGarden API 可能存在调用限制,大规模使用时需要考虑缓存策略。最后,HTTPS 部署是强制要求,自托管时需要配置 SSL 证书和域名。

安全解读

核心用法

chia-walletconnect 是一个 Telegram Mini App(Web App)技能,让用户无需离开 Telegram 即可完成 Chia 区块链钱包的身份验证。用户通过 /verify 命令触发验证流程,在 Telegram 内置浏览器中连接 Sage Wallet(通过 WalletConnect v2),签名挑战消息,最后由 MintGarden API 完成密码学验证。

典型集成流程:
1. 部署 webapp/ 目录到 Vercel/Netlify 等 HTTPS 端点

2. 在 BotFather 注册 Web App URL

3. 通过 message() 工具发送带 web_app 按钮的消息

4. 监听 web_app_data 事件获取签名数据

5. 调用 verifySignature() 完成链下验证

显著优点

  • 无缝体验:用户全程在 Telegram 内完成,无需跳转外部网站或安装额外软件
  • 安全设计完善:采用挑战-响应机制(含随机 nonce + 5 分钟时间戳过期),防止重放攻击;仅验证签名,永不触碰用户私钥
  • 生态整合度高:原生支持 Sage Wallet(Chia 主流钱包),通过 MintGarden API 验证,符合 CHIP-0002 标准
  • 即用即走架构:验证完成后立即返回结果,不持久化敏感数据,符合 GDPR 数据最小化原则

潜在缺点与局限性

  • 网络依赖重:依赖 WalletConnect Cloud、MintGarden API 和 Telegram Web App 三个外部服务,任一服务故障都会导致验证中断
  • 钱包兼容性受限:目前明确支持 Sage Wallet,其他 Chia 钱包(如 Goby)兼容性未经验证
  • 移动端体验参差:WalletConnect 的 QR 码扫描在部分 Android 设备上可能不稳定
  • 验证非实时链上:MintGarden 验证是签名层面的密码学验证,非实时查询链上资产余额,无法直接证明当前持仓
  • 自托管门槛:生产环境需自行部署 HTTPS 端点、配置 WalletConnect Project ID,对非技术用户有一定门槛

适合人群

  • 运营 Chia 生态 NFT 项目的社区管理员(NFT-gated 群组)
  • 需要验证用户钱包地址的 Telegram 机器人开发者
  • 开展 XCH 空投、DAO 投票的 Web3 项目方
  • 希望集成"Web3 登录"但不想自建钱包基础设施的中小团队

常规风险

  • API 速率限制:MintGarden 和 WalletConnect 均有调用配额,高并发场景需实现缓存和降级策略
  • 钓鱼仿冒风险:恶意机器人可能克隆相同界面诱导用户签名恶意消息,需教育用户核对 message 内容中的域名标识
  • 时间窗口滥用:5 分钟有效期虽能防止重放,但攻击者仍可在窗口期内尝试转发签名,建议结合 Telegram user ID 绑定验证结果
  • 依赖过时风险:WalletConnect v2 仍在演进,需关注 breaking changes 及时升级

chia-walletconnect 内容

lib文件夹
server文件夹
webapp文件夹
手动下载zip · 46.4 kB
challenge.jstext/javascript
请选择文件