📢 Gate廣場 #NERO发帖挑战# 秀觀點贏大獎活動火熱開啓!
Gate NERO生態周來襲!發帖秀出NERO項目洞察和活動實用攻略,瓜分30,000NERO!
💰️ 15位優質發帖用戶 * 2,000枚NERO每人
如何參與:
1️⃣ 調研NERO項目
對NERO的基本面、社區治理、發展目標、代幣經濟模型等方面進行研究,分享你對項目的深度研究。
2️⃣ 參與並分享真實體驗
參與NERO生態周相關活動,並曬出你的參與截圖、收益圖或實用教程。可以是收益展示、簡明易懂的新手攻略、小竅門,也可以是行情點位分析,內容詳實優先。
3️⃣ 鼓勵帶新互動
如果你的帖子吸引到他人參與活動,或者有好友評論“已參與/已交易”,將大幅提升你的獲獎概率!
NERO熱門活動(帖文需附以下活動連結):
NERO Chain (NERO) 生態周:Gate 已上線 NERO 現貨交易,爲回饋平台用戶,HODLer Airdrop、Launchpool、CandyDrop、餘幣寶已上線 NERO,邀您體驗。參與攻略見公告:https://www.gate.com/announcements/article/46284
高質量帖子Tips:
教程越詳細、圖片越直觀、互動量越高,獲獎幾率越大!
市場見解獨到、真實參與經歷、有帶新互動者,評選將優先考慮。
帖子需原創,字數不少於250字,且需獲得至少3條有效互動
Solana NFT:探索基於Token的用戶註冊和身分驗證
探索使用 Solana Token 作爲用戶註冊憑證
NFT (non-fungible token) 作爲一種"不可替代"的代幣,非常適合用作身分認證工具。本文將通過一個簡單示例,探討使用 NFT 作爲註冊憑證的可行性。
工具介紹
SPL Token
Solana 提供了通用的 Token Program 實現,屬於 Solana Program Library (SPL) 的一部分。SPL 包含了 Token、Swap、Memo 等多個常用程序實現,並提供了完善的客戶端庫和 CLI 工具,極大方便了 Solana 開發者。
Solana Playground
Solpy 提供了一個在線編寫和部署 Solana 合約的環境,默認包含了一些常用工具,如 SPL Token。我們可以通過 spl-token-cli 方便地創建和管理 Token。
創建認證 Token
我們將創建一個 NFT Token。如果用戶 Mint 了該 Token,就認爲這個錢包地址已在系統中註冊,否則提示用戶先進行註冊。
創建 Token
使用 spl-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
也可以嘗試 mint 給指定錢包地址:
spl-token mint <token_id> 1 <wallet_address>
注意:直接給錢包地址 mint 會失敗,需要先爲錢包地址創建 Token Account。
爲錢包地址創建 Token Account
使用以下命令爲指定錢包地址創建 Token Account:
spl-token create-account <token_id> --owner <wallet_address>
獲取 Token Account
通過 RPC 接口的 getTokenAccountsByOwner 方法查詢錢包地址是否 Mint 過我們創建的 NFT。
實現登入系統
使用 Nextjs 創建項目,並使用 Ant Design Web3 實現錢包連接功能。
主要頁面包括:
登入流程:
註冊流程:
通過 Solscan 可以查看相關交易數據,包括 CreateAccount 指令和 Mint 操作。
總結
我們使用 spl-token-cli 創建了一個 NFT,並通過檢查錢包地址是否有 Token Account 且 Mint 過 Token 來判斷用戶是否註冊。用戶連接錢包時,系統會自動創建 Token Account 並 Mint 一個 Token unit 作爲註冊憑證。此後,用戶可以使用同一錢包地址登入網站。