✈️ Gate 广场【Gate Travel 旅行分享官召集令】
广场家人们注意啦!Gate Travel 已经上线~ 机票+酒店一站式预订,还能用加密货币直接付款 💸
所以说,你的钱包和你的旅行梦终于可以谈恋爱了 😎 💕
现在广场开启 #GateTravel旅行分享官# 活动,邀你来秀旅行灵感 & 使用体验!💡
🌴 参与方式:
1️⃣ 在【广场】带话题 #Gate Travel 旅行分享官# 发帖
2️⃣ 你可以:
你最想用 Gate Travel 去的目的地(私藏小岛 or 网红打卡点都行)
讲讲用 Gate Travel 订票/订酒店的奇妙体验
放放省钱/使用攻略,让大家省到笑出声
或者直接写一篇轻松的 Gate Travel 旅行小故事
📦 奖励安排,走起:
🏆 优秀分享官(1 名):Gate 旅行露营套装
🎖️ 热门分享官(3 名):Gate 旅行速干套装
🎉 幸运参与奖(5 名):Gate 国际米兰旅行小夜灯
*海外用户 旅行露营套装 以 $100 合约体验券,旅行速干套装 以 $50 合约体验券折算,国际米兰旅行小夜灯以 $30合约体验券折算。
📌 优质内容将有机会得到官方账号转发翻牌提升社区曝光!
📌 帖文将综合互动量、内容丰富度和创意评分。禁止小号刷贴,原创分享更容易脱颖而出!
🕒 8月20 18:00 - 8月28日 24:00 UTC+
Solana NFT身份认证:探索Token作为登录凭证的应用
探索使用Solana Token作为身份认证工具
NFT作为一种"不可替代"的代币,非常适合用作身份认证工具。本文将通过一个简单示例,探讨使用NFT作为注册凭证的可行性。
工具介绍
SPL Token
Solana提供了Token Program作为通用实现,它是Solana程序库(SPL)的一部分。SPL提供了多个常用程序实现,并配有完善的客户端库和CLI工具,极大方便了Solana开发。
Solana Playground
Solpy提供了一个在线编写和部署Solana合约的环境,默认包含了一些常用工具,如SPL Token。我们可以通过spl-token-cli方便地创建和管理Token。
创建认证Token
我们将创建一个NFT Token。如果用户Mint了该Token,就认为该钱包地址已在系统中注册,否则提示用户先注册。
创建Token
使用spl-token创建一个新token,通过--decimals指定为不可分割的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
也可以尝试mint其他数值,但由于指定了--decimals 0,实际mint的量都是1。
为钱包地址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连接钱包。
主要流程:
成功注册后,可在Solscan上查看相关交易,包括创建TokenAccount和mint NFT的操作。
总结
我们使用spl-token-cli创建NFT,通过判断钱包地址是否有Token Account并mint过Token来确定注册状态。用户连接钱包时,自动创建Token Account并mint Token作为注册凭证。之后用户可使用同一钱包地址再次登录。