# SIWE:Dapp認証機能を強化するSIWE (Ethereumでサインイン)は、Ethereum上でユーザーの身分証明を行う方法です。これは、取引を開始するのと似ており、署名によってユーザーがウォレットへのコントロールを持っていることを証明します。現在、ほとんどのウォレットプラグインはこのシンプルな認証方法をサポートしており、プラグイン内で情報に署名するだけで済みます。この記事では、Ethereum上の署名シーンについて主に議論し、SolanaやSUIなどの他のパブリックチェーンには触れません。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-9e9c9e786391f84b004cd8450a29acce)## SIWEを使用する必要があるのはいつですかあなたのDappが以下の要件を満たす場合、SIWEの使用を検討できます:- 独立したユーザーシステムを持つ- ユーザーのプライバシーに関連する情報を確認する必要がありますクエリを主とするDapp(、例えばetherscan)に対しては、必ずしも身分証明は必要ではありません。Dappでウォレットを接続することは、ユーザーの身分証明が行われたように見えますが、これはフロントエンドにのみ有効です。バックエンドのサポートが必要なインターフェース呼び出しに対しては、アドレスを渡すだけでは不十分です。なぜなら、アドレスは公開情報であり、誰でも"借用"することができるからです。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-138fc08a9148099755d1fe162292922f)## SIWEの原理とプロセスSIWEのプロセスは、3つのステップに要約されます: ウォレットを接続 - サイン - 身分証明を取得。### ウォレットを接続するこれは一般的なWeb3操作であり、Dapp内でウォレットプラグインを使用してユーザーのウォレットに接続します。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-355ea961b315585f7d217cbcf6a3fa69)### サインSIWEの署名手順には、Nonce値の取得、ウォレット署名、バックエンド署名検証が含まれます。まず、バックエンドのインターフェースを呼び出して Nonce 値を取得する必要があります。バックエンドはランダムな Nonce を生成し、現在のアドレスに関連付けます。フロントエンドでNonceを取得した後、Nonce、ドメイン、チェーンIDなどの情報を含む署名内容を構築し、次にウォレットが提供するメソッドを使用して署名を行います。最後に署名をバックエンドに送信して検証します。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-53c03d1cb26f29a9d739e3d1aa0816df)### ID を取得するバックエンドで署名検証が通過した後、ユーザーの身分証明(が返されます。JWT)のように。フロントエンドはその後のリクエストにアドレスと身分証明を持参することで、ウォレットの所有権を証明できます。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-18a98c883797c414a689c54ae0d65302)## 実践ガイドNext.jsでSIWEを実装するための基本的な手順は次のとおりです。1. Next.js と関連依存関係をインストールする2. Wagmi と Ant Design の Web3 コンポーネントの紹介3. WagmiProvider を構成する4. ウォレット接続ボタンの実装5. バックエンドインターフェース(Nonceの生成と署名検証)具体的なコード実装は原文を参照してください。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-9351d7f08e48962120d591c3a0c7d245)## 最適化の提案専用のノードサービス(、例えばZAN)を使用することで、SIWE検証の応答時間を大幅に向上させることができます。デフォルトのRPCを高性能ノードサービスのRPCアドレスに置き換えることで、検証時間を大幅に短縮し、インターフェイスの速度を向上させることができます。! [SIWEマニュアル:Dappをより強力にする方法は? ](https://img-cdn.gateio.im/social/moments-0ce46cff7473e96e768adfb5fc6dafb8)
SIWE:Dappの身分証明を向上させ、イーサリアムログインを簡単に実現
SIWE:Dapp認証機能を強化する
SIWE (Ethereumでサインイン)は、Ethereum上でユーザーの身分証明を行う方法です。これは、取引を開始するのと似ており、署名によってユーザーがウォレットへのコントロールを持っていることを証明します。現在、ほとんどのウォレットプラグインはこのシンプルな認証方法をサポートしており、プラグイン内で情報に署名するだけで済みます。
この記事では、Ethereum上の署名シーンについて主に議論し、SolanaやSUIなどの他のパブリックチェーンには触れません。
! SIWEマニュアル:Dappをより強力にする方法は?
SIWEを使用する必要があるのはいつですか
あなたのDappが以下の要件を満たす場合、SIWEの使用を検討できます:
クエリを主とするDapp(、例えばetherscan)に対しては、必ずしも身分証明は必要ではありません。
Dappでウォレットを接続することは、ユーザーの身分証明が行われたように見えますが、これはフロントエンドにのみ有効です。バックエンドのサポートが必要なインターフェース呼び出しに対しては、アドレスを渡すだけでは不十分です。なぜなら、アドレスは公開情報であり、誰でも"借用"することができるからです。
! SIWEマニュアル:Dappをより強力にする方法は?
SIWEの原理とプロセス
SIWEのプロセスは、3つのステップに要約されます: ウォレットを接続 - サイン - 身分証明を取得。
ウォレットを接続する
これは一般的なWeb3操作であり、Dapp内でウォレットプラグインを使用してユーザーのウォレットに接続します。
! SIWEマニュアル:Dappをより強力にする方法は?
サイン
SIWEの署名手順には、Nonce値の取得、ウォレット署名、バックエンド署名検証が含まれます。
まず、バックエンドのインターフェースを呼び出して Nonce 値を取得する必要があります。バックエンドはランダムな Nonce を生成し、現在のアドレスに関連付けます。
フロントエンドでNonceを取得した後、Nonce、ドメイン、チェーンIDなどの情報を含む署名内容を構築し、次にウォレットが提供するメソッドを使用して署名を行います。
最後に署名をバックエンドに送信して検証します。
! SIWEマニュアル:Dappをより強力にする方法は?
ID を取得する
バックエンドで署名検証が通過した後、ユーザーの身分証明(が返されます。JWT)のように。フロントエンドはその後のリクエストにアドレスと身分証明を持参することで、ウォレットの所有権を証明できます。
! SIWEマニュアル:Dappをより強力にする方法は?
実践ガイド
Next.jsでSIWEを実装するための基本的な手順は次のとおりです。
具体的なコード実装は原文を参照してください。
! SIWEマニュアル:Dappをより強力にする方法は?
最適化の提案
専用のノードサービス(、例えばZAN)を使用することで、SIWE検証の応答時間を大幅に向上させることができます。デフォルトのRPCを高性能ノードサービスのRPCアドレスに置き換えることで、検証時間を大幅に短縮し、インターフェイスの速度を向上させることができます。
! SIWEマニュアル:Dappをより強力にする方法は?