Web3新手系列:探索使用Solana Token登录

Odaily星球日报Опубліковано о 2025-01-16Востаннє оновлено о 2025-01-16

Анотація

NFT (non-fungible token) 作为一个正如其名字所指的“不可替代”的代币,非常适合用于作为一种身份认证工具。

NFT (non-fungible token) 作为一个正如其名字所指的“不可替代”的代币,非常适合用于作为一种身份认证工具。

接下来,让我们通过一个简单的例子,来探索一下使用 NFT 作为注册凭证的可行性。

前言

在开始之前,先让我来介绍接下来会用到的工具。

SPL Token

我们可以自己从零开始编写新的 Solana 合约,不过对于我们目前想要达到的目的来说,可以直接使用 Solana 提供的通用实现:Token Program。

Token Program 属于 Solana Program Library(SPL,https://spl.solana.com/)的一部分,SPL 中提供了包括 Token、Swap、Memo 的多个常用程序实现,并且提供了完善的客户端库、CLI 等工具,极大的方便了 Solana 开发者。

Token Program 的项目源码位于:https://github.com/solana-labs/solana-program-library/tree/master/token/program

Solana Playground

Solpy (https://beta.solpg.io/) 提供了一个线上编写和部署 Solana 合约的环境,并且默认包含了一些常用的工具,上一节介绍的 SPL Token 也在其中。可以让我们通过 spl-token-cli 方便的创建并管理 Token。

Auth Token

在这部分,我们会创建一个 NFT Token。如果用户 Mint 了 Token,那么就认为这个钱包地址已经在我们的系统中注册了,反之则提示用户先进行注册。

现在,我们先开始 On-chain 部分:

创建 Token

我们使用 spl-token 来创建一个新的 token,并且,通过「 --decimals 」来指定它是一个不可分割的 Token(就像 NFT 那样)

Web3新手系列:探索使用Solana Token登录

会输出下面的日志:

Web3新手系列:探索使用Solana Token登录

其中的 69yXraTu3FqXZkATg6MiRnWT2qHd4tRzWsfCHHE9j2XE 经常会被称作 Mint Address,也是我们所创建的 Token 的 ID。

Token 地址为:

https://solscan.io/token/69yXraTu3FqXZkATg6MiRnWT2qHd4tRzWsfCHHE9j2XE?cluster=devnet

创建 Token Account

接下来我们需要为上一步创建的 Token 创建一个 Token Account。

Web3新手系列:探索使用Solana Token登录

mint

在跟其他钱包地址 mint 新 Token 之前,让我们先尝试一下为上一步创建出的 Token Account mint 一个 Token unit。只需要输入:

Web3新手系列:探索使用Solana Token登录

会输出下面的日志:

Web3新手系列:探索使用Solana Token登录

或者也可以:

Web3新手系列:探索使用Solana Token登录

也可以尝试一下 mint 其他数值,例如 1.9 :

Web3新手系列:探索使用Solana Token登录

查看交易详情,会发现:由于我们在第一步创建 Token 时指定「 --decimals 」为 0 ,所以实际执行 mint 时,会舍去小数部分,于是 mint 的量将依然是 1 。

也可以尝试一下直接给一个钱包地址 mint token,这里使用 4wztJ4CAH4GbAUopZrVk7nLvoAC3KAF6ttMMWfnBRG1t 来演示:

Web3新手系列:探索使用Solana Token登录

为钱包地址 mint

上面的 mint 操作的目标是 Token Mint Address,而按照我们最初的设想,应该给其他不属于我们的钱包地址 Mint。

接下来,让我们使用 Web3 用户的钱包地址来完成上面的 mint 步骤。

  • Token 我们直接使用上面的 69yXraTu3FqXZkATg6MiRnWT2qHd4tRzWsfCHHE9j2XE

  • Wallet Address:使用 4wztJ4CAH4GbAUopZrVk7nLvoAC3KAF6ttMMWfnBRG1t

但我们直接简单的替换参数的时,却会得到意外的结果:

Web3新手系列:探索使用Solana Token登录

地址是存在的,只是 Mint 所需要的地址并不是原始的钱包地址,而是需要与之关联的 Token Account。

我们需要进行与上面相同的流程:给钱包地址创建 Token Account,然后使用创建出的 Token Account mint 新的 Token unit。

换句话说,如果我们想要为某个钱包地址铸造一个 Token unit,那么我们就必须先为这个钱包地址创建一个 Token Account。至于为什么需要这样做,其中一个原因是我们并没有权限直接修改某个地址的数据。

在 Solana 的文档中,有时候你会分别看到两个相似的概念:代币账户(Token Account)和 关联代币账户(Associated Token Account,ATA)。文档中看起来两者似乎有些关联,但是却并没有说明这一点,这非常让人困惑。

不过如果你查看 Metaplex 的文档,就会发现它很明确的指出:“关联代币账户,有时会被简称为代币账户”。

我们这里不对这两者进行深入研究,只需要想象代币账户是代币和钱包地址之间的媒介。

我们使用下面的命令,为钱包地址创建一个 Token Account:

Web3新手系列:探索使用Solana Token登录

重复创建将会报错:

Web3新手系列:探索使用Solana Token登录

在日志中也能看出,由确定的 Mint Account 和 钱包地址派生出的 Token Account 是确定的(3JocyxV4LX4VbNU248CvNozZphgRW5JTyxn7FPWrF8bx),只是由于已经存在了,所以才打印了错误信息。

获取 Token Account

我们需要通过 RPC 接口,获取某个钱包地址是否有 Mint 过我们创建的 NFT。具体来说,通过「 getTokenAccountsByOwner 」方法来查询数据。下面是接口需要的参数:

Web3新手系列:探索使用Solana Token登录

你需要将「 _YOUR_RPC_PROVIDER_ 」替换为你自己选择的 RPC 供应商提供的地址。

可以使用 Solana 官方提供的地址,或者,可以在这里找到公共的免费 RPC 网络:https://zan.top/service/public-rpc/solana

注意:公共地址可能不稳定,如果需要稳定的 RPC 服务,建议创建自己的 API Key。

对于上面的钱包地址来说,具体就是这样:

Web3新手系列:探索使用Solana Token登录

除了通过代码手动填充请求参数之外,也可以使用 @solana/web3.js 中提供的 Connection 上的「 getParsedTokenAccountsByOwner 」方法,其内部实际上就是通过创建 Connection 时提供的 RPC 接口调用了「 getParsedTokenAccountsByOwner 」method。

如果是一个已经创建过 Account Token 的钱包,则会返回:

Web3新手系列:探索使用Solana Token登录

删掉了对我们无用的数据

实现

通过上面的尝试,可知我们能够使用现有的能力实现我们想要的功能。那么接下来,就开始编写客户端代码。

以下代码都在 https://github.com/gin-lsl/my-sol-token-auth-example

可以在这里预览:https://my-sol-token-auth-example.vercel.app/

我会通过创建一个简单的 Nextjs 项目来实现它,使用 Ant Design Web3 来 Connect Wallet:

初始化 Nextjs 项目

Web3新手系列:探索使用Solana Token登录

所有选项均使用默认值:

Web3新手系列:探索使用Solana Token登录

为了快速开始,我们直接使用 @ant-design/web3-solana 来连接钱包,使用 @solana/spl-token 和 Token Program 交互。

添加相关的依赖:

Web3新手系列:探索使用Solana Token登录

我们需要包括首页的 3 个页面,创建 app/sign-in/page.tsx 和 app/sign-on/page.tsx。它们分别用于连接钱包并检查用户是否已经注册(是否 mint NFT),以及让用户进行注册流程(mint NFT)。

打开演示页面后,首先看到的是欢迎语,以及前往 Sign in 页面的链接:

Web3新手系列:探索使用Solana Token登录

进入页面后,您需要先去 Sign in:

点击「Continue with Solana」,将会唤起钱包

Web3新手系列:探索使用Solana Token登录

而如果你之前并没有注册,则会提示你先去注册:

Web3新手系列:探索使用Solana Token登录

这是因为在 /api/sign-in 的逻辑中,会根据连接的钱包地址查找关联的 Token Account。由于我们之前并没有使用过,所以自然找不到数据,于是系统就会认为这个钱包地址并没有注册过。

然后我们按照提示,来到 Sign on 页面,注册页面与登录页面大体上类似,只是在服务端的处理逻辑不同:

其实可以将两个逻辑合并,这里分开只是为了便于演示。

Web3新手系列:探索使用Solana Token登录

无论如何,让我们点击「Start with Solana」,连接钱包。然后,如果顺利的话,会看到成功的提示:

Web3新手系列:探索使用Solana Token登录

让我们来到 Solscan 中,看看发生了什么。进入 https://solscan.io/?cluster=devnet,查询你的钱包地址。或者,也可以查看这个地址:79reVF46NyuuH7PADR3i6RpQ7hmBZgYkiieXNYPM1oLF

有一条交易数据:

Web3新手系列:探索使用Solana Token登录

注意在 Instructions 中,能看出交易内部执行了 CreateAccount 指令,点击链接进入详情,会发现它所创建的就是一个 TokenAccount:EXfDYkHw3UQw2VqiSLsRAfLMsxkgqnd3nhxbB4V5HAvA。其中的 isOnCurve 值为 False,表明是一个没有私钥的关联账户。

回到之前的页面,转到 Portfolio -> NFTs,就能看到我们刚才在 sign-on 内部所做的 Mint 操作,以及 Mint 的那个 NFT:

总结

让我们来总结一下整个流程。我们使用 spl-token-cli 创建了一个 NFT,然后,把一个钱包地址是否有 Token Account 并且 Mint 过 Token 来判断是否在我们的网站注册过。

当 Web3 用户连接钱包时,我们会自动往后端发送 sign-on,在内部会创建 Token Account,并且 Mint 一个 Token unit,作为用户已注册的凭证。

在以后,用户就可以拿同样的钱包地址再次登录我们的网站了。

本文由 ZAN Team(X 账号 @zan_team)的 gin-lsl 撰写。

Трендові криптовалюти

Пов'язані матеріали

Торгівля

Спот

Популярні статті

Що таке SOLANA

HarryPotterWifHatMyroWynn10Inu,$solana: Занурення у модний проект мем-койнів Вступ У постійно змінюваному світі криптовалют інноваційні проекти постійно з’являються, привертаючи уяву інвесторів та ентузіастів. Один з таких проектів – це HarryPotterWifHatMyroWynn10Inu,$solana, мем-койн, який почав займати свою нішу в криптоспільноті. Метою цієї статті є надати вам всебічний огляд проекту, пояснивши його мету, архітектуру, творця, інвесторів та значні досягнення на шляху. Що таке HarryPotterWifHatMyroWynn10Inu,$solana? Огляд HarryPotterWifHatMyroWynn10Inu,$solana – це проект мем-койну, структурований на блокчейні Solana – платформі, відомій своєю масштабованістю та швидкістю. Метою проекту є приносити радість і креативність у криптопростір, він не тільки слугує торговим токеном, а й каталітиком для генерації та поширення мем-контенту. Спільнота в його основі заохочується до активної участі, створюючи динамічну екосистему, де процвітає креативність і співпраця. Цілі та завдання Суть проекту полягає в сприянні середовищу, де ентузіасти мемів можуть збиратися, ділитися та створювати новий мем-контент. Цей наративно орієнтований підхід надає енергії спільноті, стимулюючи залученість, у той же час висвітлюючи міцні функції, притаманні блокчейну Solana. Визначаючи проект, орієнтований на спільноту, HarryPotterWifHatMyroWynn10Inu,$solana також бажає досліджувати соціальний вплив цифрових валют як засобу вираження. Хто є творцем HarryPotterWifHatMyroWynn10Inu,$solana? Ідентичність творця HarryPotterWifHatMyroWynn10Inu,$solana залишається загадкою. Проект структуровано таким чином, що право власності було відмовлено; тому він розвивається як ініціатива, що очолюється спільнотою. Ця децентралізація сприяє прозорості та демократичній участі всіх залучених сторін. Такий підхід стає дедалі популярнішим у світі мем-койнів, де активна участь спільноти є найвищою цінністю. Хто є інвесторами HarryPotterWifHatMyroWynn10Inu,$solana? На цей момент немає публічно доступної інформації про конкретних інвесторів або фонди, що підтримують HarryPotterWifHatMyroWynn10Inu,$solana. Відсутність відомих інвесторів ще більше підкреслює орієнтований на громаду дух проекту, оскільки він існує незалежно від традиційних фінансових структур. Ця незалежність дозволяє проекту розвивати свою ідентичність без зовнішнього тиску, покладаючись замість цього на колективний інтерес своєї бази користувачів. Як працює HarryPotterWifHatMyroWynn10Inu,$solana? Економічна модель Проект використовує унікальну економічну модель, що підкріплює його функціональність і залучення користувачів. Транзакції в межах HarryPotterWifHatMyroWynn10Inu,$solana призначені для того, щоб бути вигідними для всіх учасників. Кожна угода передбачає комісію, яка потім перераспреділяється серед поточних власників, одночасно підвищуючи ліквідність. Основні компоненти цієї моделі включають: Механізм відображення: Частина транзакційних зборів повертається власникам, сприяючи довгостроковим інвестиціям у токен. Придбання ліквідності: Кошти розподіляються для підвищення ліквідності, забезпечуючи, щоб угоди купівлі-продажу могли виконуватись гладко. Механізми спалювання: Частина токенів може бути спалена для створення дефіциту, потенційно підвищуючи вартість, оскільки попит зрештою зростає. Такий дизайн сприяє самодостатній екосистемі, яка процвітає завдяки взаємодіям спільноти та інвестиціям. Залучення спільноти В основі HarryPotterWifHatMyroWynn10Inu,$solana лежить цінність, дана залученню спільноти. Дозволяючи користувачам брати участь у розвитку проекту через різні активності, такі як створення мемів та промоції, проект сприяє розвитку вітальної екосистеми, де креативність може розквітати. Хронологія HarryPotterWifHatMyroWynn10Inu,$solana Шлях HarryPotterWifHatMyroWynn10Inu,$solana має кілька значущих подій, які визначили його поточну позицію в крипто спільноті: Створення: Конкретна дата створення залишається невідомою, але початок проекту корениться в культурі мемів, що пронизує цифрову епоху. Перехід до спільноти: Після відмови від права власності його творцем проект перейшов на модель, що очолюється спільнотою, що дозволяє усім учасникам мати частку в його успіху. Аудит і колекція NFT: Щоб підвищити свою довіру, проект завершив ретельний аудит, одночасно запустивши колекцію NFT, яка слугує втіленням його мемоцентричного духу. Партнерства та розробка: Проект наразі перебуває в процесі пошуку потенційних партнерств з іншими токенами та організації розробки унікального веб-сайту та мерчендайзингових опцій на основі його легендарних мемів. Ключові моменти Отже, HarryPotterWifHatMyroWynn10Inu,$solana постає як помітний гравець у секторі мем-койнів криптовалюти. Ось деякі ключові висновки: Ініціатива, що керується спільнотою: Проект процвітає як колективний зусилля, заохочуючи активні внески від його членів спільноти, при цьому відокремлюючись від претензій на власність. Інноваційна економічна модель: Використовуючи механізми відображення, придбання ліквідності та спалювання, він створює міцне та захоплююче фінансове середовище для користувачів. Залучення NFT та мерчандайзу: Запуск колекції NFT має на меті поглибити залученість у громаді, підкреслюючи зв’язок між культурою мемів і цифровою валютою. Дослідження партнерств: Ініціатива не стоїть на місці – постійна розробка та потенційні партнерства вказують на прогресивний підхід, спрямований на сталий розвиток. Висновок У міру того як HarryPotterWifHatMyroWynn10Inu,$solana продовжує здобувати популярність у світі криптовалют, його унікальне поєднання залучення спільноти, інноваційних економічних структур та інтеграції культури мемів окреслює його потенційний шлях вперед. Попри таємницю навколо його витоків та зв’язків з інвесторами, проект втілює цікаву історію, що говорить про суть децентралізованих інновацій. У світі, де криптовалюти часто розглядаються виключно з фінансової точки зору, HarryPotterWifHatMyroWynn10Inu,$solana демонструє, що крипторух включає креативність, спільноту та співпрацю. Чи ви досвідчений інвестор, чи новачок, розгортання цього проекту мем-койнів безсумнівно служить захоплюючим випадком, що заслуговує на увагу.

649 переглядів усьогоОпубліковано 2024.04.04Оновлено 2024.12.03

Що таке SOLANA

Що таке SOLANA 2.0

BarbieCrashBandicootRFK777Inu, $SOLANA 2.0: Новий гравець на крипто-ландшафті Вступ до BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 У постійно змінюваному світі криптовалют нові учасники постійно привертають увагу інвесторів та ентузіастів. Серед цих нових проектів — BarbieCrashBandicootRFK777Inu, представлений криптовалютою з символом $SOLANA 2.0. Ця унікальна ініціатива поєднує елементи гламуру, пригод та культури мемів, прагнучи перевершити очікування в надзвичайно конкурентному середовищі. З амбіціями зростання та інновацій, цей проект втілює дух аутсайдера, що бореться з усталеними гігантами. Що таке BarbieCrashBandicootRFK777Inu, $SOLANA 2.0? У своїй основі BarbieCrashBandicootRFK777Inu — це криптовалютний проект, що черпає натхнення з різних культових культурних посилань. Включаючи елегантність і чарівність Барбі, динамічну енергію Crash Bandicoot та невтомну рішучість, що представлена RFK, проект прагне запропонувати багатогранний досвід у світі криптовалют. Основною метою проекту BarbieCrashBandicootRFK777Inu є об'єднання цих різноманітних елементів у єдину екосистему, що приваблює широку аудиторію. Приймаючи капризність культури мемів, залишаючись при цьому в рамках принципів децентралізації та фінансової підтримки, проект зарекомендував себе як приваблива альтернатива для як досвідчених інвесторів, так і новачків у криптовалютному світі. Хто є творцем BarbieCrashBandicootRFK777Inu, $SOLANA 2.0? Попри зростаючий інтерес до BarbieCrashBandicootRFK777Inu, інформація щодо його творця залишається в значній мірі невідомою. Анонімність засновника або команди розробників викликає питання щодо структури та управління проектом. У світі криптовалют не рідкість, коли проекти працюють без публічних творців. Ця відсутність інформації може відлякати деяких потенційних інвесторів, тоді як інші можуть сприймати це як можливість embrace духу децентралізації, що лежить в основі багатьох ініціатив у криптовалютній сфері. Хто є інвесторами BarbieCrashBandicootRFK777Inu, $SOLANA 2.0? На даний момент доступна обмежена інформація про інвестиційні фонди або організації, що підтримують BarbieCrashBandicootRFK777Inu. Відсутність детального інвестиційного фінансування проекту підкреслює незалежний характер численних криптовалют. У цьому випадку ще належить з'ясувати, чи буде фінансування проекту походити від широкої підтримки спільноти або від підтримки більших фінансових установ. Як працює BarbieCrashBandicootRFK777Inu, $SOLANA 2.0? BarbieCrashBandicootRFK777Inu розроблено з низкою характеристик, які сприяють його унікальності в переповненому крипто-просторі. Хоча конкретні технічні деталі залишаються під покриттям, проект, як очікується, інтегрує функціональність, спрямовану на покращення залученості користувачів і сприяння зростанню спільноти. Поєднання різноманітних впливів — від моди та пригод до ігор — сприяє створенню інклюзивної атмосфери, що відповідає різним інтересам. Крім того, зв’язки проекту з екосистемою $SOLANA 2.0 передбачають потенційні технологічні переваги. Це може включати інноваційні швидкості транзакцій, масштабованість та ефективність витрат, що відповідає технічним можливостям блокчейну Solana. Засновники проекту, здається, намагаються спиратися на цю технологічну основу для створення тривалого досвіду спільноти та значної пропозиції продукції. Хронологія BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 Шлях BarbieCrashBandicootRFK777Inu містить кілька ключових етапів, що дають уявлення про розвиток проекту на сьогоднішній день: Концептуалізація проекту: Початкові ідеї виникли навколо об'єднання гламуру, пригод та культури мемів, що надало основу для унікальної концепції проекту. Створення токена: Символічний токен $SOLANA 2.0 був встановлений, розроблений для втілення амбіцій проекту та залучення інтересу потенційних інвесторів. Розвиток проекту: Наразі проект проходить подальший розвиток, з акцентом на виклики для великих гравців у крипто-просторі та пропонуючи інноваційні рішення. Ці етапи відображають траєкторію зростання проекту, підкреслюючи його прагнення до розробки інноваційного досвіду криптовалюти. Ключові моменти про BarbieCrashBandicootRFK777Inu, $SOLANA 2.0 Унікальна концепція: BarbieCrashBandicootRFK777Inu виділяється завдяки поєднанню елементів гламуру, пригод і культури мемів в єдиному криптовалютному проекті. Дух аутсайдера: Проект приймає образ аутсайдера, прагнучи кинути виклик усталеним криптовалютним проектам і створити нішу в індустрії. Фаза розвитку: Активні зусилля з розвитку тривають з метою надання нових та інноваційних рішень, що відповідають очікуванням спільноти та інвесторів. Висновок BarbieCrashBandicootRFK777Inu, представлений символом $SOLANA 2.0, є цікавим новим учасником на ринку криптовалют. Його унікальне поєднання культурних посилань та амбітна візія можуть відгукнутися на запити тих, хто шукає альтернативні цінності проекту в крипто-ландшафті. Хоча невідомий статус його творця та інвесторів може викликати запитання, акцент проекту на чарівності і пригодах представляє захопливу історію, що розширює межі того, що можуть втілювати криптовалюти. У процесі розвитку проекту буде цікаво спостерігати його еволюцію в більш широкій крипто-індустрії та те, як він позиціонує себе серед своїх конкурентів. Для тих, хто залучений, BarbieCrashBandicootRFK777Inu, можливо, відкриє несподівані досвіди, які перевизначать залученість до цифрових активів. Поки що, коли проект рухається вперед, його шлях є нагадуванням про те, що інновації в крипто-просторі не знають меж, пропонуючи все — від захоплення і розваг до потенціалу фінансової підтримки.

196 переглядів усьогоОпубліковано 2024.04.05Оновлено 2024.12.03

Що таке SOLANA 2.0

Як купити SOL

Ласкаво просимо до HTX.com! Ми зробили покупку Solana (SOL) простою та зручною. Дотримуйтесь нашої покрокової інструкції, щоб розпочати свою криптовалютну подорож.Крок 1: Створіть обліковий запис на HTXВикористовуйте свою електронну пошту або номер телефону, щоб зареєструвати обліковий запис на HTX безплатно. Пройдіть безпроблемну реєстрацію й отримайте доступ до всіх функцій.ЗареєструватисьКрок 2: Перейдіть до розділу Купити крипту і виберіть спосіб оплатиКредитна/дебетова картка: використовуйте вашу картку Visa або Mastercard, щоб миттєво купити Solana (SOL).Баланс: використовуйте кошти з балансу вашого рахунку HTX для безперешкодної торгівлі.Треті особи: ми додали популярні способи оплати, такі як Google Pay та Apple Pay, щоб підвищити зручність.P2P: Торгуйте безпосередньо з іншими користувачами на HTX.Позабіржова торгівля (OTC): ми пропонуємо індивідуальні послуги та конкурентні обмінні курси для трейдерів.Крок 3: Зберігайте свої Solana (SOL)Після придбання Solana (SOL) збережіть його у своєму обліковому записі на HTX. Крім того, ви можете відправити його в інше місце за допомогою блокчейн-переказу або використовувати його для торгівлі іншими криптовалютами.Крок 4: Торгівля Solana (SOL)Легко торгуйте Solana (SOL) на спотовому ринку HTX. Просто увійдіть до свого облікового запису, виберіть торгову пару, укладайте угоди та спостерігайте за ними в режимі реального часу. Ми пропонуємо зручний досвід як для початківців, так і для досвідчених трейдерів.

1.4k переглядів усьогоОпубліковано 2024.12.12Оновлено 2026.06.02

Як купити SOL

Обговорення

Ласкаво просимо до спільноти HTX. Тут ви можете бути в курсі останніх подій розвитку платформи та отримати доступ до професійної ринкової інформації. Нижче представлені думки користувачів щодо ціни SOL (SOL).

活动图片