📢 Gate广场 #MBG任务挑战# 发帖赢大奖活动火热开启!
想要瓜分1,000枚MBG?现在就来参与,展示你的洞察与实操,成为MBG推广达人!
💰️ 本期将评选出20位优质发帖用户,每人可轻松获得50枚MBG!
如何参与:
1️⃣ 调研MBG项目
对MBG的基本面、社区治理、发展目标、代币经济模型等方面进行研究,分享你对项目的深度研究。
2️⃣ 参与并分享真实体验
参与MBG相关活动(包括CandyDrop、Launchpool或现货交易),并晒出你的参与截图、收益图或实用教程。可以是收益展示、简明易懂的新手攻略、小窍门,也可以是现货行情点位分析,内容详实优先。
3️⃣ 鼓励带新互动
如果你的帖子吸引到他人参与活动,或者有好友评论“已参与/已交易”,将大幅提升你的获奖概率!
MBG热门活动(帖文需附下列活动链接):
Gate第287期Launchpool:MBG — 质押ETH、MBG即可免费瓜分112,500 MBG,每小时领取奖励!参与攻略见公告:https://www.gate.com/announcements/article/46230
Gate CandyDrop第55期:CandyDrop x MBG — 通过首次交易、交易MBG、邀请好友注册交易即可分187,500 MBG!参与攻略见公告:https://www.gate.com/announcements
SIWE:提升Dapp身份验证 轻松实现以太坊登录
SIWE:增强你的 Dapp 身份验证能力
SIWE (Sign-In with Ethereum) 是一种在以太坊上验证用户身份的方法。它类似于发起交易,通过签名来证明用户对钱包的控制权。目前,大多数钱包插件都支持这种简单的身份验证方式,只需要在插件中对信息进行签名即可。
本文主要讨论以太坊上的签名场景,不涉及 Solana、SUI 等其他公链。
何时需要使用 SIWE
如果你的 Dapp 具有以下需求,可以考虑使用 SIWE:
对于以查询为主的 Dapp(如 etherscan),则不一定需要 SIWE。
虽然在 Dapp 上连接钱包似乎已经证明了用户身份,但这只对前端有效。对于需要后端支持的接口调用,仅传递地址是不够的,因为地址是公开信息,任何人都可以"借用"。
SIWE 的原理和流程
SIWE 的流程可以概括为三个步骤:连接钱包 - 签名 - 获取身份标识。
连接钱包
这是常见的 Web3 操作,通过钱包插件在 Dapp 中连接用户钱包。
签名
SIWE 的签名步骤包括获取 Nonce 值、钱包签名和后端签名校验。
首先,需要调用后端接口获取 Nonce 值。后端会生成随机 Nonce 并与当前地址关联。
前端获取 Nonce 后,构建签名内容,包括 Nonce、域名、链 ID 等信息,然后使用钱包提供的方法进行签名。
最后将签名发送给后端进行验证。
获取身份标识
后端校验签名通过后,会返回用户身份标识(如 JWT)。前端在后续请求中带上地址和身份标识,即可证明对钱包的所有权。
实践指南
以下是使用 Next.js 实现 SIWE 的基本步骤:
具体代码实现可参考原文。
优化建议
使用专门的节点服务(如 ZAN)可以显著提升 SIWE 验证的响应时间。将默认 RPC 替换为高性能节点服务的 RPC 地址,可以大幅减少验证时间,提高接口速度。