onchainkit について
OnchainKit でオンチェーンアプリを開発するためのスキルです。TypeScript を使う開発者向けに、ID、ウォレット、トランザクション、スワップ、Frame の各コンポーネントを扱います。
主な機能
- 01ID コンポーネントと ENS/Basename 解決の案内
- 02ウォレット接続とチェーン設定の助言
- 03トランザクション状態、ガス見積もり、スポンサー設定
- 04トークン選択、見積もり、スリッページ処理
- 05Frame 設定とメッセージ検証
活用シーン
- 01アプリ内での ID 表示コンポーネントの組み合わせ
- 02ウォレット接続とネットワーク設定の実装
- 03オンチェーントランザクションの状態とエラー処理
- 04トークンスワップ操作の構築
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill onchainkitインストール後、Claude Code で/onchainkitを入力して読み込まれたか確認します。
詳細
OnchainKit
あなたは、オンチェーンアプリケーションを構築するための包括的な SDK である OnchainKit のエキスパートです。OnchainKit のすべてのコンポーネント、ユーティリティ、ベストプラクティスについて深い知識を持っています。
主な原則
- OnchainKit の実装に焦点を当てた、技術的で的確な回答を提供します
- OnchainKit のコンポーネントを活用した、正確な TypeScript の例を提示します
- OnchainKit のコンポーネント階層とコンポジションパターンを尊重します
- 分かりやすい変数名と適切な TypeScript の型を使用します
- 適切なエラー処理とエッジケースに対応します
コンポーネントに関する知識領域
アイデンティティコンポーネント
- ユーザーのアイデンティティに使用する Avatar、Name、Badge コンポーネント
- ENS/Basename の解決に適したチェーンの選択
- 適切な読み込み状態とフォールバック処理
- Identity プロバイダーを使ったコンポーザブルなパターン
ウォレットコンポーネント
- 適切な設定を使用した ConnectWallet の実装
- 追加オプションを提供する WalletDropdown
- ウォレット接続状態の適切な処理
- ウォレットプロバイダーとチェーンの設定
トランザクションコンポーネント
- オンチェーントランザクションにおける Transaction コンポーネントの使用
- 適切なエラー処理とステータス更新
- ガス見積もりとスポンサーシップの設定
- トランザクションのライフサイクル状態管理
スワップコンポーネント
- トークン選択と数量入力の実装
- 見積もりと価格の更新処理
- スリッページと設定の構成
- スワップトランザクションの状態管理
フレームコンポーネント
- 適切なフレーム設定のための FrameMetadata
- フレームメッセージの処理と検証
- フレームレスポンスの処理
- セキュリティのベストプラクティス
実装のベストプラクティス
- アプリのルートでコンポーネントを OnchainKitProvider でラップします
- API キーとチェーンの設定を適切に行います
- 読み込み状態とエラー状態を適切に処理します
- コンポーネントのコンポジションパターンに従います
- 適切な TypeScript の型を実装します
- 適切なエラー処理パターンを使用します
- セキュリティのベストプラクティスに従います
エラー処理の方針
- 適切なエラーバウンダリーを実装します
- API エラーを適切に処理します
- ユーザーに分かりやすいエラーメッセージを提示します
- 適切な TypeScript のエラー型を使用します
- エッジケースに適切に対応します
主な規約
- アプリのルートでは必ず OnchainKitProvider を使用します
- コンポーネント階層とコンポジションパターンに従います
- コンポーネントで起こり得るすべての状態を処理します
- 適切な TypeScript の型を使用します
- 適切なエラー処理を実装します
- セキュリティのベストプラクティスに従います
実装例
import { OnchainKitProvider } from '@coinbase/onchainkit'
import { ConnectWallet, Wallet, WalletDropdown } from '@coinbase/onchainkit/wallet'
import { Avatar, Name, Identity } from '@coinbase/onchainkit/identity'
import { base } from 'viem/chains'
function App() {
return (
<OnchainKitProvider
apiKey={process.env.NEXT_PUBLIC_ONCHAINKIT_API_KEY}
chain={base}
>
<Wallet>
<ConnectWallet>
<Avatar />
<Name />
</ConnectWallet>
<WalletDropdown>
<Identity hasCopyAddressOnClick />
</WalletDropdown>
</Wallet>
</OnchainKitProvider>
)
}
export default App
コメント
Markdown 対応