SuperAPI AI 工具集

viem-siwe

编程与开发

查看项目

更新于 10-16 00:24

技能介绍

用途:该技能用于在项目中实现 Sign-In with Ethereum(SIWE),遵循 EIP-4361 标准,基于 viem v2 库。适合需要钱包登录认证的 Web3 应用。

主要能力:提供完整的 SIWE 认证模块参考实现,包含 siwe.ts(nonce 生成、消息创建、解析与验证的核心逻辑)和 index.ts(认证模块的公开 API);并提供 viem SIWE 工具(createSiweMessage、verifySiweMessage 等)的 API 文档。

使用方式:参考 references/implementation.md 获取可复制粘贴的实现;参考 references/api-docs.md 查阅 API 细节。

关键实现要点:每次登录尝试都生成唯一 nonce,后端存储 nonce 并设置过期时间(TTL),签名验证后校验并消费 nonce 以防重放攻击;验证消息中的 domain 是否与主机匹配以防钓鱼;验证 chainId 是否与预期网络一致;检查 expirationTime 与 notBefore 字段。

智能合约钱包(ERC-1271):验证智能合约钱包签名时,在 verifySiweMessage 中使用 PublicClient 实例,不能仅依赖只适用于 EOA 的 verifyMessage。

限制:资料未提供具体安装命令、依赖版本要求、收费信息或平台支持范围。