Cài đặt và tạo deposit
- 01Cài gói: bun add @usdctofiat/offramp (npm và pnpm cũng dùng được).
- 02Truyền một viem WalletClient: ví của người dùng, ví máy chủ, hoặc ví bot.
- 03Gọi offramp(walletClient, { amount, platform, currency, identifier }).
- 04Đọc depositId và txHash trả về, hoặc dựng khung dự án bằng npx create-offramp-app@latest.
Bề mặt của SDK
| Export | Chức năng |
|---|---|
| offramp(walletClient, params) | Luồng bán USDC một lệnh gọi, trả về { depositId, txHash, resumed, otcLink? } |
| deposits(address) | Liệt kê deposit cho một địa chỉ mà không cần lập chỉ mục trạng thái giao thức |
| close(walletClient, depositId) | Rút phần USDC chưa được khớp khỏi một deposit hiện có |
| enableOtc / disableOtc / getOtcLink | Quản lý giới hạn riêng tư một-người-mua trên một deposit |
| useOfframp() / usePeerExtensionRegistration() | React hook từ @usdctofiat/offramp/react |
| PLATFORMS, CURRENCIES | Bản đồ hằng số có kiểu với định danh, kiểm tra hợp lệ và danh sách tiền tệ |
Có thể tiếp tục theo thiết kế
Việc tạo một deposit trải qua nhiều bước onchain. Nếu một lệnh gọi trước đó để lại một deposit dang dở, việc gọi lại offramp() sẽ tiếp tục từ chỗ đã dừng thay vì tạo bản trùng lặp. Cờ resumed trong kết quả có giá trị true khi một deposit chưa được ủy quyền đang tồn tại được tiếp nhận thay vì tạo mới.
Điều đó khiến SDK an toàn để thử lại từ máy chủ hoặc bot: một điểm vào thân thiện với tính bất biến, đối soát với trạng thái onchain thay vì giả định khởi đầu sạch sẽ.
Xử lý lỗi
| Vấn đề | Cách SDK báo hiệu |
|---|---|
| Lỗi có kiểu | OfframpError mang theo một mã từ OFFRAMP_ERROR_CODES |
| Thiết lập PayPal hoặc Wise | EXTENSION_REGISTATION_REQUIRED chỉ thiết lập kỹ thuật tín hiệu; thực thi chính sách nhà cung cấp riêng biệt |
| Kiểm tra hợp lệ | PLATFORMS và CURRENCIES cung cấp việc kiểm tra hợp lệ định danh và tiền tệ |
| Không lưu ký khóa | SDK ký bằng WalletClient của bạn và không bao giờ lưu khóa riêng tư |