開発者 · Base
USDCtoFiat デポジットの Builder Code アトリビューションを準備する。
これは設定ガイドであり、USDCtoFiat に発行済み Builder Code があるという主張ではありません。Base アプリが @usdctofiat/offramp で作成されるオンチェーンデポジット取引を帰属させる準備ができた時に使います。
01
アトリビューション手順
- 1Base Mini App を安定した HTTPS オリジンにデプロイします。
- 2Base.dev でアプリを登録して検証します。
- 3Base.dev 設定から本物の Builder Code をコピーします。
- 4ox/erc8021 でそのコードから ERC-8021 dataSuffix を生成します。
- 5デポジット取引を送信する Viem または Wagmi クライアントに dataSuffix を付けます。
- 6小さな USDCtoFiat デポジットを作成し、キャンペーン前にアトリビューションを検証します。
02
追加する場所
| サーフェス | アトリビューション経路 |
|---|---|
| Base App | Base ドキュメントでは、登録済みアプリは Base App 内の活動について自動アトリビューションを受けられるとされています。 |
| Web アプリ | Base App 外のブラウザ利用を帰属させるため、取引クライアントに dataSuffix を追加します。 |
| USDCtoFiat SDK | SDK は渡されたウォレットクライアントで署名するため、suffix はその wallet-client 経路に属します。 |
| コントラクト | コントラクト変更は不要です。ERC-8021 suffix データは calldata に追加され、オフチェーンでインデックスされます。 |
03
実装メモ
- Base ドキュメントの経路では viem 2.45.0 以降を使います。このアプリはすでにより新しい viem を使っています。
- プレースホルダー Builder Codes を本番に入れないでください。Base.dev が本物の値を発行してから接続します。
- Viem では wallet client 作成時に dataSuffix を追加します。
- Wagmi では client レベルで dataSuffix を設定し、send と batch calls が継承するようにします。
- Privy や smart-wallet フローでは、実際に user operation または transaction を送信する wallet/provider 経路を使います。
04
検証
| チェック | 合格条件 |
|---|---|
| Base.dev | アプリの Builder Code のオンチェーン取引数が増えます。 |
| ブロックエクスプローラー | 取引 input が ERC-8021 suffix マーカーで終わり、期待するコードにデコードされます。 |
| USDCtoFiat 結果 | 作成されたデポジットは depositId と txHash を返し、その後 deposits(address) に表示されます。 |
| Peerlytics | インデックスが追いついた後、デポジットと intent のライフサイクルを確認できます。 |
Keep exploring
Common questions
今プレースホルダー Builder Code を追加できますか?
いいえ。統合は準備しておきますが、プレースホルダー attribution を出荷しないでください。Base.dev で登録し、本物のコードを取得してから wallet-client 経路に追加します。
@usdctofiat/offramp に別の Builder Code オプションは必要ですか?
通常のアプリ経路では不要です。SDK は渡された Viem WalletClient を使うため、アトリビューションはその client または取引を送信する wallet/provider 層に付けるべきです。
ERC-8021 は ZKP2P コントラクトを変更しますか?
いいえ。Base ドキュメントでは Builder Codes は calldata suffix attribution と説明されています。コントラクトは通常通り実行され、アトリビューションは取引後にオフチェーン indexers が読み取ります。