📢 Gate廣場專屬 #WXTM创作大赛# 正式開啓!
聚焦 CandyDrop 第59期 —— MinoTari (WXTM),總獎池 70,000 枚 WXTM 等你贏!
🎯 關於 MinoTari (WXTM)
Tari 是一個以數字資產爲核心的區塊鏈協議,由 Rust 構建,致力於爲創作者提供設計全新數字體驗的平台。
通過 Tari,數字稀缺資產(如收藏品、遊戲資產等)將成爲創作者拓展商業價值的新方式。
🎨 活動時間:
2025年8月7日 17:00 - 8月12日 24:00(UTC+8)
📌 參與方式:
在 Gate廣場發布與 WXTM 或相關活動(充值 / 交易 / CandyDrop)相關的原創內容
內容不少於 100 字,形式不限(觀點分析、教程分享、圖文創意等)
添加標籤: #WXTM创作大赛# 和 #WXTM#
附本人活動截圖(如充值記錄、交易頁面或 CandyDrop 報名圖)
🏆 獎勵設置(共計 70,000 枚 WXTM):
一等獎(1名):20,000 枚 WXTM
二等獎(3名):10,000 枚 WXTM
三等獎(10名):2,000 枚 WXTM
📋 評選標準:
內容質量(主題相關、邏輯清晰、有深度)
用戶互動熱度(點讚、評論)
附帶參與截圖者優先
📄 活動說明:
內容必須原創,禁止抄襲和小號刷量行爲
獲獎用戶需完成 Gate廣場實名
Solana NFT身分驗證:使用Token作爲註冊憑證的實踐探索
探索使用 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。
創建Auth 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 Account或直接爲錢包地址mint Token。需注意,由於創建時指定了decimals爲0,所以實際mint的量會舍去小數部分。
爲錢包地址Mint
要爲其他錢包地址mint Token,需先爲該地址創建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項目實現:
用戶首次訪問需先註冊,系統會爲其創建Token Account並mint一個Token unit作爲註冊憑證。之後用戶可使用同一錢包地址再次登入。
總結
我們通過spl-token-cli創建了一個NFT,並用錢包地址是否有對應Token Account且mint過Token來判斷用戶是否註冊。
當Web3用戶連接錢包時,後端會自動創建Token Account並mint一個Token unit作爲註冊憑證。此後用戶可使用同一錢包地址登入網站。