カイア・ウォレットDAppの統合
目次
はじめに
カイアウォレットは、メタマスクと同様の非保護ウォレットで、カイア固有の取引とアカウントを追加サポートしています。 この記事では、Kaia Walletと分散型アプリケーション(dApp)の統合について、ハイレベル(抽象的)な実装から低レベル(きめ細かい)実装まで説明します。
このガイドでは、Kaia Wallet dAppの統合を3つの主要カテゴリーに分類します:
- UIライブラリ
- ユーティリティ・ライブラリ
- プロバイダー
前述のライブラリーは、Providers
をボンネットの中で使っている。
1. UIライブラリ
多くのdAppは、状態管理とリアクティブなサービスの提供のためにフロントエンド・フレームワークを利用している。 多くのdAppは、状態管理とリアクティブなサービスの提供のためにフロントエンド・フレームワークを利用している。 そのようなdAppsとカイアウォレットを統合する推奨される方法は、同じフレームワークで構築されたUIライ ブラリを使用することです。
UI ライブラリは、ConnectWallet
コンポーネントのように、ユーザーとのインタラクションのためのコンポーネントを提供します。 また、複数アカウントや複数ネットワークのような低レベルの状態を管理する手間も省けます。 複雑な、あるいは低レベルのインタラクションについては、基礎となるユーティリティ・ライブラリやプロバイダを参照することができる。 また、複数アカウントや複数ネットワークのような低レベルの状態を管理する手間も省けます。 複雑な、あるいは低レベルのインタラクションについては、基礎となるユーティリティ・ライブラリやプロバイダを参照することができる。
ほとんどのUIライブラリはMetamaskをビルトインでサポートしているが、Kaia WalletのAPIはMetamaskのをベースに構築されているので、統合も簡単だ。 ライブラリがKaia Walletをネイティブにサポートしていなくても、Kaia Wallet統合のために拡張するのは簡単です。 例えば、ReactやNext.jsの2つの人気のあるライブラリです: ライブラリがKaia Walletをネイティブにサポートしていなくても、Kaia Wallet統合のために拡張するのは簡単です。 例えば、ReactやNext.jsの2つの人気のあるライブラリです:
1.1. Appkitの例
Reown, Appkit では、以下の機能を提供しています:。
考慮事項
- @reown/appkitを使って、Wagmi&Tanstack Queryのフロントエンドスタックか、単にEthersのどちらかにコミットするオプションがある。
projectId
が必要 Reownでサインアップ
コード例kaikas-web3modal
1.2. Web3-Onboardの例
BlocknativeによるWeb3-Onboardは以下の機能を提供します:。
- 設定可能なオンボード・テキスト
- Connect Wallet、Switch Account、Switch Networkの各モダル
- 通知コンポーネント
- (オプション) リアルタイムデータをフェッチ&レンダリングするためのAPIキーを登録する。
考慮事項
- ボタンを書く必要がある
2. ユーティリティ・ライブラリ
kaia-sdkやethers.jsのようなライブラリは、ブロックチェーンのやり取りを効率化するのに十分な抽象化を行い、なおかつProviderのAPIを直接呼び出すことができる。
ユーティリテ ィライブラリを使用してアカウントを接続したり、ネイティブトークン(KAIA/ETHなど)を送信したりすることは、構文やコード行数*の点で、プロバイダを直接呼び出すのと変わりません。 図書館が主に改善するのは、以下の分野である:
- スマートコントラクトの相互作用
- これらには、ABI、エンコード入力、デコード出力が含まれる。 ライブラリーがないと、これらのコードは冗長でエラーになりやすい。 ライブラリーがないと、これらのコードは冗長でエラーになりやすい。
- エラー処理
- 文字列エラーコード/メッセージは、カスタムプロパティとメソッドを持つエラークラスにマッピングされます。
- ドキュメンテーションと安全性
2.1. kaia-sdk
kaia-sdkは、ethers.jsやweb3.jsのような他のユーティリティ・ライブラリのドロップイン拡張のセットです。 これにより、カイア固有のメソッドのファーストパーティ・サポートを公開しながら、お好みのライブラリを使用することができます: これにより、カイア固有のメソッドのフ ァーストパーティ・サポートを公開しながら、お好みのライブラリを使用することができます:
- 取引、口座、口座キーの種類
- Fee Delegation
2.2. ethers.jsの例
ethers.jsは、ブロックチェーンと対話するための最も人気のあるJavaScriptユーティリティライブラリです。 それを目指している: それを目指している:
- 広範囲:複数の財布フォーマット、言語、機能をサポート
- 堅牢:包括的なテスト、文書化、型付け
コード例kaikas-ethersjs
3. プロバイダー
最も低いレベルでは、プロバイダーであるwindow.klaytn
(カイア・ウォレットそのもの)があります。 ユーティリティ・ライブラリ](#2-utility-libraries)を好むかもしれないが、プロバイダAPIの知識は、デバッグや依存ライブラリの動作を理解するのに役立つ。 kaia_getAccount
、kaia_sendTransactionAsFeePayer
などのKaia固有のメソッドを使用するには、[Kaia's JSON-RPC API][Kaia-API]を参照する必要があります。