💙 Gate广场 #Gate品牌蓝创作挑战# 💙
用Gate品牌蓝,描绘你的无限可能!
📅 活动时间
2025年8月11日 — 8月20日
🎯 活动玩法
1. 在 Gate广场 发布原创内容(图片 / 视频 / 手绘 / 数字创作等),需包含 Gate品牌蓝 或 Gate Logo 元素。
2. 帖子标题或正文必须包含标签: #Gate品牌蓝创作挑战# 。
3. 内容中需附上一句对Gate的祝福或寄语(例如:“祝Gate交易所越办越好,蓝色永恒!”)。
4. 内容需为原创且符合社区规范,禁止抄袭或搬运。
🎁 奖励设置
一等奖(1名):Gate × Redbull 联名赛车拼装套装
二等奖(3名):Gate品牌卫衣
三等奖(5名):Gate品牌足球
备注:若无法邮寄,将统一替换为合约体验券:一等奖 $200、二等奖 $100、三等奖 $50。
🏆 评选规则
官方将综合以下维度评分:
创意表现(40%):主题契合度、创意独特性
内容质量(30%):画面精美度、叙述完整性
社区互动度(30%):点赞、评论及转发等数据
Solana NFT助力身份认证 探索去中心化注册新方案
探索使用 Solana Token 进行身份认证
NFT(非同质化代币)作为一种独特的不可替代代币,非常适合用作身份认证工具。本文将通过一个简单示例,探讨使用 NFT 作为注册凭证的可行性。
工具介绍
SPL Token
Solana 提供了 Token Program 作为通用实现,它是 Solana Program Library (SPL) 的一部分。SPL 包含了多个常用程序实现,并提供完善的客户端库和 CLI 工具,极大方便了 Solana 开发。
Solana Playground
Solpy 提供了一个在线编写和部署 Solana 合约的环境,默认包含一些常用工具,如 SPL Token。我们可以通过 spl-token-cli 方便地创建和管理 Token。
创建身份认证 Token
我们将创建一个 NFT Token。用户 Mint 该 Token 即视为在系统中注册,否则提示用户先注册。
创建 Token
使用 spl-token 创建一个新 token,并指定它为不可分割的 Token:
spl-token create-token --decimals 0
这将输出 Mint Address,即我们创建的 Token ID。
创建 Token Account
为刚创建的 Token 创建一个 Token Account:
spl-token create-account <token_id>
Mint Token
尝试为 Token Account mint 一个 Token unit:
spl-token mint <token_id> 1
由于我们指定 decimals 为 0,所以实际执行 mint 时会舍去小数部分。
为钱包地址 Mint
要为用户钱包地址 mint,需要先为该地址创建 Token Account,然后使用创建的 Token Account mint 新的 Token unit。
创建 Token Account:
spl-token create-account <token_id> --owner <wallet_address>
获取 Token Account
通过 RPC 接口的 getTokenAccountsByOwner 方法查询钱包地址是否 mint 过我们的 NFT。
实现
创建一个简单的 Nextjs 项目来实现功能,使用 Ant Design Web3 连接钱包。
项目包含三个页面:首页、登录页和注册页。
登录时,后端会根据连接的钱包地址查找关联的 Token Account。如果找不到数据,则认为该钱包地址未注册。
注册时,系统会为用户创建 Token Account 并 mint 一个 Token unit 作为注册凭证。
总结
我们使用 spl-token-cli 创建了一个 NFT,并通过判断钱包地址是否有 Token Account 且 mint 过 Token 来确定用户是否注册。
当 Web3 用户连接钱包时,系统自动发送注册请求,创建 Token Account 并 mint 一个 Token unit 作为注册凭证。
此后,用户可以使用同一钱包地址再次登录网站。