-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
メタマスクを使用して私のDAPPのチェーンの変更を処理する方法は?
"Handle MetaMask chain changes in dApps by listening for the `chainChanged` event and updating your provider and contracts accordingly."
2025/07/02 21:01
ダップのチェーンの変化を理解する
分散型アプリケーション(DAPP)を開発または相互作用する場合、ユーザーと開発者が直面する最も一般的な課題の1つは、チェーンの変更を処理することです。最も広く使用されている暗号通貨ウォレットの1つであるメタマスクは、ユーザーが異なるブロックチェーンネットワークを切り替えることができます。ただし、このようなチェーンの変更を検出および応答するようにDAPPが適切に構成されていない場合、これは混乱を引き起こす可能性があります。これには、Ethereum MainnetからBinance Smartチェーンまたはテストネット環境への切り替えなどのシナリオが含まれます。
コアの問題は、メタマスクで選択されたネットワークが変更されたときにDAPPが正しく反応するようにすることを中心に展開します。これは、チェーンIDまたはRPCエンドポイントが誤っていないため、ユーザーエクスペリエンスを維持し、トランザクションエラーを防ぐために重要です。
メタマスクのネットワークの変更を検出します
Metamaskは、 chainChangedと呼ばれるイベントリスナーを提供します。これは、ユーザーが別のネットワークに切り替えるたびにトリガーされます。これを処理するには、DappのJavaScriptコード内にチェーン変更されたイベントリスナーを実装する必要があります。
これがあなたがそれをセットアップする方法です:
- Web3をインポートするか、window.ethereumから注入プロバイダーを使用します。
-
chainChangedのイベントリスナーを追加します:window.ethereum.on('chainChanged', handleChainChanged); -
handleChainChanged関数を定義して、新しいチェーンIDに基づいてDAPPをリロードまたは再構成します。
これにより、DAPPは常にユーザーが現在接続しているネットワークを認識し、それに応じて適応できるようになります。
チェーンIDとネットワーク識別子の取り扱い
各ブロックチェーンネットワークには、チェーンIDとして知られる一意の識別子があります。たとえば、Ethereum MainnetはチェーンID 1を使用し、Rinkebyは4使用します。ユーザーがチェーンを切り替えると、 chainChangedイベントは新しいチェーンIDを16進形式で返します。
互換性を確保するために、あなたのdappは次のようにする必要があります
parseInt(chainId, 16)を使用して、返されたチェーンIDを16進数から小数点に変換します。- サポートされているチェーンIDのリストに対して、結果の値を比較します。
- 適切なUIフィードバックを表示するか、選択したチェーンがサポートされていない場合にユーザーをリダイレクトします。
チェーンがサポートされていない場合、DAPPはユーザーにバックバックを切り替えるか、メタマスクを介してカスタムネットワークを追加する方法の指示を提供するように促す必要があります。
プロバイダーの更新と契約の再接続
チェーンの変更を検出した後、プロバイダーを更新し、スマートコントラクトインスタンスを再接続することが不可欠です。そうしないと、データの取得が誤っていないか、トランザクションが失敗する可能性があります。
従うべきステップ:
- チェーンが変更された後、
window.ethereumを使用してWeb3の新しいインスタンスを作成します。 - 更新されたプロバイダーを使用して、すべての契約インスタンスを再接続します。
- アカウントのバランスと契約状態を再評価して、現在のネットワークを反映します。
このプロセスにより、すべての相互作用が正しいチェーンで発生し、ネットワークスイッチに関係なくDAPPが応答性があり正確なままであることが保証されます。
ユーザーにカスタムチェーンを追加するように促します
場合によっては、DAPPがユーザーがMetamaskでデフォルトで利用できないネットワークに接続する必要がある場合があります。そのような場合、 wallet_addEthereumChainメソッドを使用してカスタムネットワークを追加するように求めることができます。
このアクションをトリガーする方法は次のとおりです。
- ターゲットネットワークのRPC URL、チェーンID、通貨シンボル、およびブロックエクスプローラーURLを準備します。
- 次の方法を呼び出します。
await window.ethereum.request({ method: 'wallet_addEthereumChain', params: [{chainId: '0x...', rpcUrls: ['https://...'], chainName: 'Custom Network', nativeCurrency: { name: 'Token', symbol: 'TKN', decimals: 18 }, blockExplorerUrls: ['https://...']}] });
これにより、メタマスク確認ダイアログが開き、ユーザーがネットワークを安全に追加できます。
よくある質問
チェーンチェンジされたイベントはどのくらいの頻度で発火しますか?
チェーンチェンジされたイベントは、ユーザーがメタマスクで手動でネットワークを切り替えるたびに、または別のDAPPがネットワークの変更をトリガーするたびに発射されます。初期ページのロード中に発生するのではなく、ネットワークが開始後に変更された場合にのみ発生します。
メタマスクでプログラムでチェーンを切り替えることはできますか?
はい、 wallet_switchEthereumChainメソッドを使用してチェーンスイッチをリクエストできます。目的のチェーンIDを16進形式で渡す必要があります。チェーンがまだ追加されていない場合、メタマスクはユーザーに最初に追加するように促します。
なぜ私のDAPPはチェーンをすぐに検出しないのですか?
window.ethereum.on('chainChanged', callback)を使用して、 chainChangedイベントを積極的に聞く必要があります。このリスナーが実行時に登録されていない場合、または実行中に削除された場合、DAPPはチェーンの変更を検出しません。
ユーザーがサポートされていないチェーンを選択するとどうなりますか?
DAPPが選択したチェーンをサポートしていない場合、現在のネットワークがサポートされていないことを示す警告メッセージを表示する必要があります。また、正しいネットワークを追加するか、サポートされているネットワークに切り替えることにより、ユーザーをガイドするボタンを提供することもできます。
免責事項:info@kdj.com
提供される情報は取引に関するアドバイスではありません。 kdj.com は、この記事で提供される情報に基づいて行われた投資に対して一切の責任を負いません。暗号通貨は変動性が高いため、十分な調査を行った上で慎重に投資することを強くお勧めします。
このウェブサイトで使用されているコンテンツが著作権を侵害していると思われる場合は、直ちに当社 (info@kdj.com) までご連絡ください。速やかに削除させていただきます。
- ビットコイン、eCash フォーク、Airdrop のダイナミクス: 暗号通貨の最新の論争を深く掘り下げる
- 2026-05-03 12:55:01
- コンセンサス 2026 マイアミ: Web3、ブロックチェーン、暗号通貨、NFT、メタバース、カンファレンス、5 月 5 日 — ウォール街とデジタル フロンティアが出会う場所
- 2026-05-02 12:45:01
- FRBが金利を据え置き、地政学的な緊張の中、ビットコイン価格の下落を引き起こす
- 2026-05-01 06:45:01
- ビットコインマイナーが送電網を電化:オハイオ州のガス工場買収がデジタルゴールドの新時代を加速
- 2026-05-01 00:45:01
- MegaETH の MEGA トークンがビッグアップルに到達: リアルタイム ブロックチェーンの新しいパフォーマンス ベンチマークを設定
- 2026-05-01 00:55:01
- ソラナの滑りやすい坂道: 価格予測は抵抗力の損失とさらなる下落の可能性を示している
- 2026-05-01 06:45:01
関連知識
仮想通貨ウォレットの選び方は?初心者に最適な財布はどれ?
2026-08-04 05:21:25
ウォレットの種類とその中心となる機能を理解する1. ソフトウェア ウォレットはインターネットに接続されたデバイス上で完全に動作し、分散型アプリケーション全体でトークンへの即時アクセスを提供します。 2. ハードウェア ウォレットは秘密キーをオフラインの物理デバイスに保存し、ネットワーク ベースのエク...
2026 年に最も安全な仮想通貨ウォレットは何ですか? MetaMask vs Ledger vs Trust Wallet
2026-08-04 00:40:22
安全アーキテクチャの比較1. UKey Wallet は、EAL 6+ 認定のセキュア エレメント チップを採用しており、Ledger Nano X の EAL 5+ 認定を上回り、OneKey の最高層のハードウェア セキュリティ標準と一致しています。 2. Ledger Nano Xは、エアギャ...
MetaMask ウォレットで保留中のトランザクションをキャンセルするにはどうすればよいですか?
2026-08-04 01:00:14
保留中のトランザクションについて1. 保留中のトランザクションは、署名されてイーサリアム ネットワークにブロードキャストされているが、マイナーやバリデーターによってまだ確認されていない場合、MetaMask に表示されます。 2. これらのトランザクションは、ブロックに含まれるか、ガス価格の低下やネ...
バックパックウォレットエクステンションとは何ですか? Solana エコシステムをどのようにサポートしますか?
2026-08-04 14:36:16
バックパックウォレット拡張機能の概要1. Backpack Wallet Extension は、Solana および Ethereum ブロックチェーンとのシームレスな対話のために特別に設計された非保管型のオープンソースのブラウザベースの暗号ウォレットです。 2. スタンドアロンのウォレットインタ...
Rabby ウォレットのシミュレーションが失敗するのはなぜですか?どうすれば直りますか?
2026-08-06 13:20:13
市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中に 24 時間以内に 15% を超えることがよくあります。 2. アルトコインと BTC の相関関係は、弱気相場局面では 0.9 を超えて急上昇し、独立した評価シグナルの減少を示しています。 3. VIX が 35...
Rabby Wallet 承認セキュリティとは何ですか?暗号通貨詐欺をどのように防ぐのでしょうか?
2026-08-05 14:53:55
市場のボラティリティパターン1. Bitcoin の価格変動は、中央銀行による金利調整などのマクロ経済の変化を反映することがよくあります。 2. 分散型金融プロトコルへの高い流動性注入の期間中、アルトコインの評価は BTC から切り離されることがよくあります。 3. クジラウォレットのアクティビティ...
仮想通貨ウォレットの選び方は?初心者に最適な財布はどれ?
2026-08-04 05:21:25
ウォレットの種類とその中心となる機能を理解する1. ソフトウェア ウォレットはインターネットに接続されたデバイス上で完全に動作し、分散型アプリケーション全体でトークンへの即時アクセスを提供します。 2. ハードウェア ウォレットは秘密キーをオフラインの物理デバイスに保存し、ネットワーク ベースのエク...
2026 年に最も安全な仮想通貨ウォレットは何ですか? MetaMask vs Ledger vs Trust Wallet
2026-08-04 00:40:22
安全アーキテクチャの比較1. UKey Wallet は、EAL 6+ 認定のセキュア エレメント チップを採用しており、Ledger Nano X の EAL 5+ 認定を上回り、OneKey の最高層のハードウェア セキュリティ標準と一致しています。 2. Ledger Nano Xは、エアギャ...
MetaMask ウォレットで保留中のトランザクションをキャンセルするにはどうすればよいですか?
2026-08-04 01:00:14
保留中のトランザクションについて1. 保留中のトランザクションは、署名されてイーサリアム ネットワークにブロードキャストされているが、マイナーやバリデーターによってまだ確認されていない場合、MetaMask に表示されます。 2. これらのトランザクションは、ブロックに含まれるか、ガス価格の低下やネ...
バックパックウォレットエクステンションとは何ですか? Solana エコシステムをどのようにサポートしますか?
2026-08-04 14:36:16
バックパックウォレット拡張機能の概要1. Backpack Wallet Extension は、Solana および Ethereum ブロックチェーンとのシームレスな対話のために特別に設計された非保管型のオープンソースのブラウザベースの暗号ウォレットです。 2. スタンドアロンのウォレットインタ...
Rabby ウォレットのシミュレーションが失敗するのはなぜですか?どうすれば直りますか?
2026-08-06 13:20:13
市場のボラティリティパターン1. Bitcoin の価格変動は、主要なマクロ経済発表中に 24 時間以内に 15% を超えることがよくあります。 2. アルトコインと BTC の相関関係は、弱気相場局面では 0.9 を超えて急上昇し、独立した評価シグナルの減少を示しています。 3. VIX が 35...
Rabby Wallet 承認セキュリティとは何ですか?暗号通貨詐欺をどのように防ぐのでしょうか?
2026-08-05 14:53:55
市場のボラティリティパターン1. Bitcoin の価格変動は、中央銀行による金利調整などのマクロ経済の変化を反映することがよくあります。 2. 分散型金融プロトコルへの高い流動性注入の期間中、アルトコインの評価は BTC から切り離されることがよくあります。 3. クジラウォレットのアクティビティ...
すべての記事を見る














