# ソラナトークンを使用した身分証明の実現を探るNFTは、代替不可能なトークンとして、身分証明ツールとして非常に適しています。本記事では、NFTを登録証明書として使用する可能性を簡単な例を通じて探ります。## イントロダクション開始する前に、使用するツールについて紹介します。### SPLトークン私たちは、ソラナが提供する汎用実装であるToken Programを直接使用することができます。Token Programは、ソラナプログラムライブラリ(SPL)の一部であり、SPLはToken、Swap、Memoを含む複数の一般的なプログラム実装を提供し、完全なクライアントライブラリ、CLIなどのツールを提供することで、ソラナの開発者に大いに便利さをもたらしています。! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-a8dcf63c04c6e63d302acd0170aad875)###ソラナプレイグラウンド Solpyは、オンラインでソラナ契約を作成および展開するための環境を提供し、デフォルトでSPLトークンなどの一般的なツールを含んでいます。私たちは、spl-token-cliを使用してトークンを簡単に作成および管理できます。! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-2d4061778b838adde4ff1f393858d363)## 認証トークンこの部分では、NFTトークンを作成します。ユーザーがそのトークンをミントした場合、そのウォレットアドレスはシステムに登録されたと見なされます。そうでない場合は、ユーザーに先に登録を行うように促します。今からオンチェーン部分を始めます:### トークンを作成spl-tokenを使用して新しいトークンを作成し、--decimalsを介してこのトークンが分割不可能なトークン(であることを指定します。NFT)に似ています:spl-token create-token --decimals 0出力ログのMint Addressは、私たちが作成したトークンのIDです。! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-d42044efd505a5367b666752b868da0c)### トークンアカウントを作成上のステップで作成したトークンのためにトークンアカウントを作成する: spl-token create-account <token_mint_address>! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-b039435212d66c69db512fc679430f89)### トークンをミントする新しく作成したトークンアカウントにトークンユニットをミントしようとしています:SPL-トークンミント<token_mint_address>1も直接ウォレットアドレスを入力してトークンをミントできます:SPL-トークンミント<token_mint_address>1 <wallet_address> ! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-4c6542c9e4f56eb35dfd7b5f81ca5991)### はウォレットアドレス Mint特定のウォレットアドレスにトークンをミントするには、まずそのアドレスにトークンアカウントを作成し、その後作成したトークンアカウントを使用して新しいトークンユニットをミントする必要があります。ウォレットアドレスのトークンアカウントを作成する:spl-token create-account <token_mint_address> --owner <wallet_address>! [Web3ビギナーシリーズ:Solanaトークンを使用したログインを探る](https://img-cdn.gateio.im/social/moments-1c32a3d0e704a3b02a7ced6f1d99cea5)### トークンアカウントを取得RPCインターフェースのgetTokenAccountsByOwnerメソッドを使用して、特定のウォレットアドレスが私たちが作成したNFTをミントしたかどうかを確認できます。! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-a24e9eba2139d73dd3d21b4961679cd6)## 実装次に、シンプルな Nextjs プロジェクトを作成して機能を実装し、Ant Design Web3 を使用してウォレットに接続します。Nextjs プロジェクトの初期化:npx create-next-app@latest! [Web3スターターシリーズ:Solanaトークンを使用したログインを探る](https://img-cdn.gateio.im/social/moments-57805e7852a7ca66850a8d6b27398250)関連する依存関係を追加する:npm install @ant-design/web3 @ant-design/web3-solana @solana/spl-token! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-14368232303f480fe96b88d4a6ba1f55)sign-in と sign-on ページを作成し、それぞれウォレット接続によるユーザーの登録状況の確認と、ユーザーの登録プロセスを行うために使用します。sign-in ページでは、システムが接続されたウォレットアドレスに基づいて関連するトークンアカウントを検索します。データが見つからない場合、そのウォレットアドレスは未登録と見なされます。! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-ff77873087f76c412229207de916e9b9)サインオンページはユーザーのためにトークンアカウントを作成し、トークンをミントします。これはユーザーが登録されている証明書として機能します。! [Web3ビギナーシリーズ:Solanaトークンを使用したログインを探る](https://img-cdn.gateio.im/social/moments-eb80585bdf5e8c2b3e3392b4bf84b693)## まとめ私たちは spl-token-cli を使用して NFT を作成し、その後、ウォレットアドレスに Token Account が存在するかどうか、および Token が Mint されているかを確認して、登録されているかどうかを判断します。Web3 ユーザーがウォレットを接続すると、システムは自動的にトークンアカウントを作成し、登録証明としてトークンをミントします。その後、ユーザーは同じウォレットアドレスを使用して再度サイトにログインできます。! [Web3スターターシリーズ:Solanaトークンを使用したログインを探索する](https://img-cdn.gateio.im/social/moments-16d560890fd229d1bb393bbc10a67f18)</wallet_address></token_mint_address></wallet_address></token_mint_address></token_mint_address></token_mint_address>
ソラナトークンによる身分証明の実現:NFTをWeb3サインアップ証明書として探求する
ソラナトークンを使用した身分証明の実現を探る
NFTは、代替不可能なトークンとして、身分証明ツールとして非常に適しています。本記事では、NFTを登録証明書として使用する可能性を簡単な例を通じて探ります。
イントロダクション
開始する前に、使用するツールについて紹介します。
SPLトークン
私たちは、ソラナが提供する汎用実装であるToken Programを直接使用することができます。Token Programは、ソラナプログラムライブラリ(SPL)の一部であり、SPLはToken、Swap、Memoを含む複数の一般的なプログラム実装を提供し、完全なクライアントライブラリ、CLIなどのツールを提供することで、ソラナの開発者に大いに便利さをもたらしています。
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
###ソラナプレイグラウンド
Solpyは、オンラインでソラナ契約を作成および展開するための環境を提供し、デフォルトでSPLトークンなどの一般的なツールを含んでいます。私たちは、spl-token-cliを使用してトークンを簡単に作成および管理できます。
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
認証トークン
この部分では、NFTトークンを作成します。ユーザーがそのトークンをミントした場合、そのウォレットアドレスはシステムに登録されたと見なされます。そうでない場合は、ユーザーに先に登録を行うように促します。
今からオンチェーン部分を始めます:
トークンを作成
spl-tokenを使用して新しいトークンを作成し、--decimalsを介してこのトークンが分割不可能なトークン(であることを指定します。NFT)に似ています:
spl-token create-token --decimals 0
出力ログのMint Addressは、私たちが作成したトークンのIDです。
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
トークンアカウントを作成
上のステップで作成したトークンのためにトークンアカウントを作成する:
spl-token create-account <token_mint_address>
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
トークンをミントする
新しく作成したトークンアカウントにトークンユニットをミントしようとしています:
SPL-トークンミント<token_mint_address>1
も直接ウォレットアドレスを入力してトークンをミントできます:
SPL-トークンミント<token_mint_address>1 <wallet_address>
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
はウォレットアドレス Mint
特定のウォレットアドレスにトークンをミントするには、まずそのアドレスにトークンアカウントを作成し、その後作成したトークンアカウントを使用して新しいトークンユニットをミントする必要があります。
ウォレットアドレスのトークンアカウントを作成する:
spl-token create-account <token_mint_address> --owner <wallet_address>
! Web3ビギナーシリーズ:Solanaトークンを使用したログインを探る
トークンアカウントを取得
RPCインターフェースのgetTokenAccountsByOwnerメソッドを使用して、特定のウォレットアドレスが私たちが作成したNFTをミントしたかどうかを確認できます。
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
実装
次に、シンプルな Nextjs プロジェクトを作成して機能を実装し、Ant Design Web3 を使用してウォレットに接続します。
Nextjs プロジェクトの初期化:
npx create-next-app@latest
! Web3スターターシリーズ:Solanaトークンを使用したログインを探る
関連する依存関係を追加する:
npm install @ant-design/web3 @ant-design/web3-solana @solana/spl-token
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
sign-in と sign-on ページを作成し、それぞれウォレット接続によるユーザーの登録状況の確認と、ユーザーの登録プロセスを行うために使用します。
sign-in ページでは、システムが接続されたウォレットアドレスに基づいて関連するトークンアカウントを検索します。データが見つからない場合、そのウォレットアドレスは未登録と見なされます。
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する
サインオンページはユーザーのためにトークンアカウントを作成し、トークンをミントします。これはユーザーが登録されている証明書として機能します。
! Web3ビギナーシリーズ:Solanaトークンを使用したログインを探る
まとめ
私たちは spl-token-cli を使用して NFT を作成し、その後、ウォレットアドレスに Token Account が存在するかどうか、および Token が Mint されているかを確認して、登録されているかどうかを判断します。
Web3 ユーザーがウォレットを接続すると、システムは自動的にトークンアカウントを作成し、登録証明としてトークンをミントします。その後、ユーザーは同じウォレットアドレスを使用して再度サイトにログインできます。
! Web3スターターシリーズ:Solanaトークンを使用したログインを探索する</wallet_address></token_mint_address></wallet_address></token_mint_address></token_mint_address></token_mint_address>