building-with-base-account について
building-with-base-accountは、Base Accountの統合を支援する開発者向けスキルです。SDKのクイックスタートと各機能のリファレンスに加え、トランザクション検証、ポップアップ処理、認証情報保護の要件を示します。
主な機能
- 01SDKのインストールと初期化例
- 02サインインとバックエンド検証の案内
- 03決済、サブスクリプション、サブアカウントの資料
- 04バッチトランザクションとガススポンサーの案内
- 05セキュリティとポップアップ処理の要件
活用シーン
- 01アプリへのBase Accountの統合
- 02サインインまたはUSDC決済の実装
- 03サブスクリプション、サブアカウント、バッチ処理の開発
- 04ポップアップやウォレット呼び出しの問題調査
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ base/ skills --skill building-with-base-accountインストール後、Claude Code で/building-with-base-accountを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/authentication.mdcapabilities.mdpayments.mdprolinks.mdsub-accounts.mdsubscriptions.mdtroubleshooting.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 Pay | references/payments.md | ワンタップの USDC 決済、payerInfo、サーバー側検証、BasePayButton |
| サブスクリプション | references/subscriptions.md | 継続課金、支出権限、CDP ウォレットのセットアップ、請求/取り消しのライフサイクル |
| サブアカウント | references/sub-accounts.md | アプリ固有の埋め込みウォレット、キー生成、資金の入金 |
| ケイパビリティ | references/capabilities.md | バッチトランザクション、ガススポンサーシップ(ペイマスター)、アトミック実行、auxiliaryFunds、アトリビューション |
| Prolinks | references/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 変更について
- AI 向けに最適化されたドキュメント:docs.base.org/llms.txt
- 完全なリファレンス:docs.base.org/base-account
コメント
Markdown 対応