コンテンツへスキップ
0%

WalletConnectとは?

Alchemy team headshot

執筆者 Alchemy

2022年4月30日 公開読了時間 1 分

WalletConnectは、シングルインテグレーションのオープンソースプロトコルです。開発者はWalletConnectを使うことで、300以上のウォレットのユーザーが自分の作った分散型アプリケーションにログインできるようにできます。これらのアプリEthereumのような分散型ネットワーク上でホストされています。

この記事では、WalletConnectがエコシステムで果たす重要な役割、このプロトコルの技術的な詳細、そしてアプリの使い方について説明します。

WalletConnectでウォレットに接続する理由

かつてEthereumの開発者は、ウォレットユーザーがアプリケーションにログインできるように、Web3のクリプトウォレットごとに個別のインテグレーションを作成していました。しかしこれによってEthereumエコシステムMetaMaskに集中することになりました。開発者はユーザー数の少ないニッチなウォレット向けにインテグレーションをコーディングすることに消極的だったため、新しいウォレットの初期採用者が不利益を被っていたのです。

WalletConnectは、単一のインテグレーションのコストで300種類以上のウォレットにアクセスできるようにすることで、この状況を変えました。現在では3000以上のアプリがログイン方法としてWalletConnectを提供しており、その中にはUniswapOpenSeaRaribleなど、エコシステムの中でも特に大きなアプリが含まれています。

WalletConnectは、開発者があらゆる種類のウォレットのユーザーにアプリを開放することを容易にすることで、ウォレットのデザインと機能における創造性の爆発的な広がりを可能にしました。このプロトコルは、権力の分散と新しいユーザー体験の実現という暗号通貨の理念を象徴しています。

WalletConnectはどのチェーンをサポートしていますか?

WalletConnectは、Ethereum、Cosmos、Polkadot、Near、Solana、Celo、Binance Smart Chainをはじめとする幅広いチェーンをサポートしています。互換性のあるブロックチェーンの完全なリストについては、WalletConnectのドキュメントを参照してください。

WalletConnectと互換性のあるウォレットは?

WalletConnectは、さまざまなプラットフォーム上の300種類以上のウォレットと互換性があります。互換性のある代表的なウォレットには以下のようなものがあります。

  • Metamask
  • Rainbow
  • Crypto.com DeFi Wallet
  • Argent Wallet
  • Gnosis Safe MultiSig Wallet
  • Trust Wallet
  • Ledger
  • Coinbase Wallet

WalletConnectの使い方

このセクションでは、WalletConnectを使ってウォレットを分散型アプリケーション(dApp)に接続する手順を詳しく説明します。ここに記載されている手順に従うことで、WalletConnectと互換性のあるあらゆるdAppとウォレットの間で問題なく接続を確立し、dAppとやり取りできるようになります。

1. WalletConnectでdAppに接続する

WalletConnectと互換性のあるdAppに移動します。このチュートリアルでは、分散型金融アプリケーションであるUniswapと、ウォレットとしてRainbowを例として使用します。ただし、この手順はWalletConnectと互換性のあるどのdAppとウォレットにも当てはまります。まず「Connect Wallet」ボタンをクリックしてください。

Connect Walletボタンが表示されたUniswapのインターフェース

2. WalletConnectを選択する

次に、表示された選択肢の中からWalletConnectを選びます。画面にQRコードが表示されます。WalletConnectはデフォルトでは、ユーザーがモバイルウォレットでログインすることを想定しています。ただしデスクトップウォレットを使用している場合は、「Desktop」のラベルをクリックしてください。

ウォレット選択モーダル:QRコードを表示するためにWalletConnectを選択する

3. モバイルウォレットでQRコードをスキャンする

スマートフォンを取り出し、モバイルウォレットアプリケーションを開きます。多くのウォレットには、下の画像の右側に示されているような、中が空洞の四角のアイコンがあります。このアイコンをタップするとカメラが起動し、QRコードをスキャンできます。このアイコンが見つからない場合は、設定メニューから「QRコードをスキャン」というオプションを探してください。

WalletConnectのQRコードをスキャンするためのモバイルウォレットのQRスキャナーアイコン

4. 接続を許可する

QRコードをスキャンすると、dAppがウォレットへの接続許可を求めてきます。これは、ユーザー自身がウォレットを管理していること、そしてdAppがそのウォレットへのアクセスを許可されていることを確認するための標準的なセキュリティ対策です。モバイルウォレットの画面の指示に従って、接続を確認する必要があります。接続が確立されると、ウォレットを使ってdAppとやり取りできるようになります。

dAppへの接続許可を求めるモバイルウォレットのプロンプト

5. dAppへのログインに成功する

おめでとうございます。これでウォレットを通じてdAppへのログインに成功しました。ウォレットを使ってdAppとやり取りし、トレード、ステーキング、資金の送金といったさまざまな操作を行えるようになります。ウォレットの使用やアプリとのやり取りを行う際は、資金の安全を守るため、常にセキュリティのベストプラクティスに従うようにしてください。

WalletConnectは安全ですか?

WalletConnectは安全に使用できます。アプリとウォレットの間でやり取りされる情報は、この2者のみが所持する鍵によって対称暗号化されます。

この鍵はdAppからウォレットへ直接送信されます。ユーザーがQRコードをスキャンする場合でも、デスクトップウォレットでディープリンクを選ぶ場合でも、仲介者は存在しません。

公開ブリッジサーバーが両者間の情報のやり取りを処理しますが、このサーバーは情報を復号するために必要な鍵を受け取ることはありません。さらに、開発者は自前でブリッジサーバーをホストすることで、完全な保護を実現することもできます。

この設計の優れた点は、WalletConnectがdAppへのログインにシードフレーズやリカバリーフレーズを必要としないことです。以下は、ブリッジサーバーを介したdAppとウォレット間の情報の流れを示す図です。

WalletConnectのブリッジサーバーを介したdAppとウォレット間の暗号化された情報の流れの図

QRコードの中には、以下に示すWalletConnectのURIスキームが含まれており、その下に各変数の意味を説明する表があります。

WalletConnectのURIスキーム
Required parts
Notes

wc:

Wallet Connect protocol defined in EIP-1328

topic

String

version

Number (eg. 1.9.0)

bridge

Bridge URI (URL Encoded)

key

Symmetric key hex string

WalletConnectのコードベース

WalletConnectのコードベースはWalletConnect Githubで確認できます。

WalletConnectの実装方法

WalletConnectの実装に関する最新の手順については、公式ドキュメントを参照してください。

WalletConnectの代替手段と競合

WalletConnectに直接の競合は存在しません。WalletConnectとMetaMaskを比較すること自体が誤った二項対立であり、実際にはMetaMaskもモバイルウォレットのログイン方法としてWalletConnectを利用しています。

まとめ

WalletConnectと同様に、私たちAlchemyも、製品を通じて開発者の作業を楽にすることでエコシステムを前進させています。

開発者がノードの自己ホスティングをやめてAlchemy Supernodeに切り替えると、ノード管理において最も広く使われているAPIを活用できるようになります。Supernodeは強力な分析ツールと開発者向けツールのスイートを提供しており、デバッグ作業を高速化し、重要なリクエストに対してシンプルなAPI呼び出しを行うことができます。

1000億ドル以上のトランザクションを支え、OpenSeaNBA Top Shotといった人気アプリを支えている製品スイートを、Alchemy.comでぜひご覧ください。

さらに詳しく知りたい方は、API3がAlchemyをどのように活用しているかをご覧ください。DAOダッシュボードでのWalletConnectインテグレーションの実現など、さまざまな活用方法が紹介されています。

Background gradient

ブロックチェーンで魔法を生み出す

Alchemyは、最も強力なweb3開発者向けプロダクトとツールを、豊富なリソース、コミュニティ、そして卓越したサポートと組み合わせて提供します。