開発者向け · アプリ
ユーザーが実際に完了できるUSDC売却フローを構築。
優れたオフランプアプリは、その大半が地味な状態管理です。ルートを収集し、ウォレットに署名させ、拡張機能でゲートされた支払い方法をリカバリし、デポジットリンクを表示し、タブを閉じた後にライフサイクルイベントを照合します。
01
フロントエンドのパス
- 1金額、支払いプラットフォーム、fiat通貨、受取識別子を収集します。
- 2接続済みのviem WalletClientをuseOfframp()またはcreateOfframp({ walletClient })に渡します。
- 3進行状況の状態を表示します: approving、registering、depositing、confirming、delegating、restricting、resuming、done。
- 4PayPalとWiseでEXTENSION_REGISTRATION_REQUIREDをキャッチし、usePeerExtensionRegistration(platform)を実行します。
- 5ページ読み込み時にdeposits(address)を呼び出し、リフレッシュが進行中の売り手を取り残さないようにします。
02
保存すべき状態
| 項目 | 理由 |
|---|---|
| depositId | close()、OTCリンク、サポートのための主要ハンドル |
| txHash | ユーザーが署名しデポジットトランザクションをブロードキャストした証明 |
| platform + currency | ルート表示、サポート、分析のセグメンテーション |
| 識別子ラベル | 人間が読める受取参照。シークレットは保存しないこと |
| integratorId | プロダクトテレメトリとサポートのための安定した帰属情報 |
03
UXの制約
- SDKはBaseメインネットを対象とし、公開サンドボックスはありません。最小額の1 USDCでテストしてください。
- SDKで作成されるすべてのデポジットは、価格設定をDelegateボールトに委任します。このパスでは手動のレートコントロールを表示しないでください。
- fiatはSDKの外側にとどまります。買い手と売り手は、選択した支払いアプリ内で直接決済します。
- Webhookはライフサイクルのヒントとして扱い、deposits()で限定的な所有者の状態を照合してください。より広い市場データと分析にはPeerlytics APIを使います。
Keep exploring
Common questions
ウォレットアプリはスタンドアロン関数とReactフックのどちらを使うべきですか?
ローディング、進行状況、エラー、結果の状態を組み込みで使いたい場合はReactフックを使います。アプリが独自の状態マシンを持つ場合はcreateOfframp({ walletClient })を使います。
PayPalまたはWiseの登録が失敗したとき、何を表示すべきですか?
EXTENSION_REGISTRATION_REQUIREDをキャッチし、Peer拡張機能のインストールまたは接続をユーザーに促し、usePeerExtensionRegistration()で売り手クレデンシャルのキャプチャを完了させてから、元のデポジットを再試行します。