name: Bankr x402 SDK - 钱包操作
description: 这个技能应用于当用户请求"设置SDK"、“初始化BankrClient”、“配置钱包”、“设置支付钱包”、“连接钱包到Bankr”、“获取钱包地址”、“设置环境变量”、“配置私钥”、“双钱包设置”、“分离支付和交易钱包”,或需要帮助SDK客户端初始化、双钱包配置、钱包地址派生、环境设置或BankrClient选项时。
version: 1.1.0
SDK钱包操作
使用适当的钱包设置初始化和配置BankrClient。
双钱包系统
| 钱包 |
用途 |
必需 |
支付 (privateKey) |
签署x402微支付($0.01/请求) |
是 |
上下文 (walletAddress) |
接收交换的代币、NFT |
否(默认为支付钱包) |
基本设置
import { BankrClient } from "@bankr/sdk";
const client = new BankrClient({
privateKey: process.env.BANKR_PRIVATE_KEY as `0x${string}`,
});
const result = await client.promptAndWait({
prompt: "我的余额是多少?",
});
分离钱包(推荐)
为增强安全性,使用不同的钱包进行支付和接收:
const client = new BankrClient({
// 热钱包,仅保留少量USDC用于支付
privateKey: process.env.PAYMENT_WALLET_PK as `0x${string}`,
// 冷/交易钱包接收代币
walletAddress: process.env.RECEIVING_WALLET,
});
配置选项
| 选项 |
类型 |
必需 |
描述 |
privateKey |
0x${string} |
是 |
支付钱包私钥 |
walletAddress |
string |
否 |
覆盖接收钱包 |
baseUrl |
string |
否 |
API端点(默认:生产环境) |
timeout |
number |
否 |
请求超时毫秒(默认:600000) |
SDK方法
| 方法 |
描述 |
promptAndWait() |
提交提示并等待结果 |
prompt() |
提交提示,立即返回 |
pollJob() |
轮询直到作业完成 |
getJobStatus() |
检查作业状态一次 |
cancelJob() |
取消待处理/处理中的作业 |
getWalletAddress() |
获取上下文钱包地址 |
每个请求的覆盖
// 为单个请求覆盖钱包
const result = await client.promptAndWait({
prompt: "交换0.1 ETH到USDC",
walletAddress: "0xDifferentWallet...",
});
环境设置
# 必需
BANKR_PRIVATE_KEY=0x...您的支付钱包私钥...
# 可选
BANKR_WALLET_ADDRESS=0x...您的接收钱包...
安全最佳实践
- 切勿提交私钥 - 使用环境变量
- 最小化支付钱包余额 - 仅保留1-2美元USDC
- 使用分离钱包 - 支付(热)与接收(冷)
- 定期轮换密钥 - 如果支付钱包被泄露
相关技能
- sdk-capabilities: 支持操作的完整列表
- sdk-job-management: 异步作业处理与轮询