mcpField
B
building-with-base-account

building-with-base-account

github.com/base開発120357 回インストール1 日前に更新
リポジトリ

building-with-base-account について

building-with-base-accountは、Base Accountの統合を支援する開発者向けスキルです。SDKのクイックスタートと各機能のリファレンスに加え、トランザクション検証、ポップアップ処理、認証情報保護の要件を示します。

主な機能

  1. 01SDKのインストールと初期化例
  2. 02サインインとバックエンド検証の案内
  3. 03決済、サブスクリプション、サブアカウントの資料
  4. 04バッチトランザクションとガススポンサーの案内
  5. 05セキュリティとポップアップ処理の要件

活用シーン

  1. 01アプリへのBase Accountの統合
  2. 02サインインまたはUSDC決済の実装
  3. 03サブスクリプション、サブアカウント、バッチ処理の開発
  4. 04ポップアップやウォレット呼び出しの問題調査

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/base/skills --skill building-with-base-account

インストール後、Claude Code で/building-with-base-accountを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
authentication.md
capabilities.md
payments.md
prolinks.md
sub-accounts.md
subscriptions.md
troubleshooting.md

詳細

Base Account で構築する

Base Account は、ユニバーサルサインオン、ワンタップの USDC 決済、マルチチェーン対応(Base、Arbitrum、Optimism、Zora、Polygon、BNB、Avalanche、Lordchain、Ethereum Mainnet)を提供する ERC-4337 スマートウォレットです。

クイックスタート

npm install @base-org/account @base-org/account-ui
import { createBaseAccountSDK } from '@base-org/account';

const sdk = createBaseAccountSDK({
  appName: 'My App',
  appLogoUrl: 'https://example.com/logo.png',
  appChainIds: [8453], // Base Mainnet
});

const provider = sdk.getProvider();

機能リファレンス

実装する機能のリファレンスをお読みください。

機能リファレンス読むタイミング
Base でサインインreferences/authentication.mdウォレット認証、SIWE、バックエンド検証、SignInWithBaseButton、Wagmi/Privy のセットアップ
Base Payreferences/payments.mdワンタップの USDC 決済、payerInfo、サーバー側検証、BasePayButton
サブスクリプションreferences/subscriptions.md継続課金、支出権限、CDP ウォレットのセットアップ、請求/取り消しのライフサイクル
サブアカウントreferences/sub-accounts.mdアプリ固有の埋め込みウォレット、キー生成、資金の入金
ケイパビリティreferences/capabilities.mdバッチトランザクション、ガススポンサーシップ(ペイマスター)、アトミック実行、auxiliaryFunds、アトリビューション
Prolinksreferences/prolinks.md共有可能な決済リンク、QR コード、エンコードされたトランザクション URL
トラブルシューティングreferences/troubleshooting.mdポップアップの問題、ガス使用量、未サポートの呼び出し、移行、ドキュメントへのリンク

重要な要件

セキュリティ
  • リプレイ攻撃を防ぐため、トランザクション ID を記録してください
  • なりすましを防ぐため、送信者が認証済みユーザーと一致することを確認してください
  • Paymaster URL がフロントエンドに露出しないよう、プロキシを使用してください
  • Paymaster プロバイダーは ERC-7677 に準拠している必要があります
  • CDP の認証情報をクライアント側に絶対に公開しないでください(サブスクリプションのバックエンドのみ)
ポップアップの処理
  • ポップアップブロッカーを回避するため、ユーザーが「サインイン」をクリックする前に nonce を生成してください
  • Cross-Origin-Opener-Policy: same-origin-allow-popups を使用してください
  • same-origin は Base Account のポップアップを妨げます
Base Pay
  • Base Pay は SIWB とは独立して動作します。pay() に認証は不要です
  • getPaymentStatus() の testnet パラメーターは pay() の呼び出しと一致させる必要があります
  • オンチェーン残高だけを根拠にアクションを無効にしないでください。auxiliaryFunds ケイパビリティを確認してください
サブアカウント
  • 使用前に、各セッションで wallet_addSubAccount を呼び出してください
  • 新しいデバイスやブラウザーでは、所有権が変わることが想定されます
  • インポートに対応しているのは Coinbase Smart Wallet コントラクトのみです
スマートウォレット
  • ERC-6492 ラッパーにより、ウォレットのデプロイ前に署名を検証できます
  • Viem の verifyMessage/verifyTypedData はこれを自動的に処理します

エッジケースと最新の API 変更について

コメント