名称: Bankr x402 SDK - 项目模板 描述: 当用户询问“搭建Bankr SDK项目”、“创建新的SDK机器人”、“构建Bankr网络服务”、“创建Bankr仪表板”、“构建Bankr CLI工具”、“SDK项目结构”、“x402项目类型”,或需要不同类型Bankr SDK集成的目录结构和模板指导时,应使用此技能。 版本: 1.0.0
x402 SDK 项目模板
使用x402微支付的Bankr SDK项目的目录结构和模板。
可用模板
| 模板 | 用例 | 关键特性 |
|---|---|---|
| 机器人 | 自动化任务 | 轮询循环、调度器、交易执行 |
| 网络服务 | HTTP API | REST端点、异步处理、Webhook支持 |
| 仪表板 | Web界面 | 前端 + 后端、投资组合显示 |
| CLI | 命令行工具 | 子命令、交互式提示 |
机器人模板
用于自动化交易机器人、价格监控、投资组合再平衡和计划任务。
目录结构
{项目名称}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # 主入口点,带调度器
│ ├── bankr-client.ts # Bankr SDK 客户端(来自x402-client-patterns技能)
│ ├── executor.ts # 使用viem/ethers执行交易
│ ├── types.ts # TypeScript接口
│ └── config.ts # 配置加载
└── scripts/
└── run.sh # 便捷脚本
关键特性
- 轮询循环:可配置的重复操作间隔
- 交易执行:内置viem集成用于发送交易
- 状态流:实时任务进度更新
- 错误处理:带退避的自动重试
- 优雅关闭:处理SIGINT/SIGTERM
用例
- 价格监控和警报
- 自动化交换策略
- 投资组合再平衡
- 计划市场分析
- 类似DCA的自动化
入口点模式 (index.ts)
import { bankrClient } from "./bankr-client";
import { executeTransaction } from "./executor";
const INTERVAL = 60000; // 1分钟
async function runBot() {
console.log("启动Bankr SDK机器人...");
while (true) {
try {
const result = await bankrClient.promptAndWait({
prompt: "检查ETH价格",
onStatusUpdate: (msg) => console.log("状态:", msg),
});
if (result.status === "completed") {
console.log("结果:", result.response);
// 如果返回了交易,则执行
if (result.transactions?.length) {
for (const tx of result.transactions) {
await executeTransaction(tx);
}
}
}
} catch (error) {
console.error("错误:", error);
}
await new Promise((r) => setTimeout(r, INTERVAL));
}
}
runBot();
网络服务模板
用于为移动应用或集成包装Bankr SDK的HTTP API。
目录结构
{项目名称}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # 服务器入口点
│ ├── server.ts # Express/Fastify服务器设置
│ ├── routes/
│ │ ├── health.ts # 健康检查端点
│ │ ├── swap.ts # 交换端点
│ │ └── portfolio.ts # 投资组合端点
│ ├── bankr-client.ts # Bankr SDK 客户端
│ ├── types.ts # TypeScript接口
│ └── config.ts # 配置加载
└── scripts/
└── run.sh
关键特性
- REST API端点:清晰的API设计
- 请求验证:输入净化
- 异步处理:非阻塞SDK操作
- 速率限制:防止滥用
- CORS:跨源支持
用例
- Bankr SDK的API网关
- 移动应用后端
- 集成的交易API
- Webhook驱动的自动化
额外依赖
{
"dependencies": {
"express": "^4.18.0"
}
}
仪表板模板
用于具有投资组合跟踪、交换界面或监控的Web界面。
目录结构
{项目名称}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── server/
│ ├── index.ts # 后端服务器
│ ├── bankr-client.ts # Bankr SDK 客户端
│ ├── routes/
│ │ └── api.ts # 前端API路由
│ └── types.ts
├── public/
│ ├── index.html # 主HTML页面
│ ├── styles.css # 基本样式
│ └── app.js # 前端JavaScript
└── scripts/
└── run.sh
关键特性
- 简单前端:HTML/CSS/JS(无需构建步骤)
- 后端API:用于SDK操作的Express服务器
- 投资组合显示:代币余额和价值
- 交换界面:通过UI执行交换
用例
- 投资组合跟踪仪表板
- 个人交易界面
- 市场监控
- 仓位管理
CLI 模板
用于具有子命令和交互式功能的命令行工具。
目录结构
{项目名称}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│ ├── index.ts # 带commander.js的CLI入口
│ ├── commands/
│ │ ├── swap.ts # 交换命令
│ │ ├── balance.ts # 余额查询命令
│ │ └── send.ts # 转账命令
│ ├── bankr-client.ts # Bankr SDK 客户端
│ ├── executor.ts # 交易执行
│ └── types.ts
└── scripts/
└── run.sh
关键特性
- Commander.js:带子命令的CLI框架
- 交互式提示:需要时的用户输入
- 进度指示器:SDK调用期间的状态
- 彩色输出:更好的用户体验
- 交易确认:执行前审查
用例
- 个人交易工具
- 脚本和自动化
- 快速余额检查
- 批量交换操作
额外依赖
{
"dependencies": {
"commander": "^12.0.0"
}
}
CLI 模式 (index.ts)
import { program } from "commander";
import { swap } from "./commands/swap";
import { balance } from "./commands/balance";
program
.name("bankr-cli")
.description("用于Bankr SDK操作的CLI")
.version("1.0.0");
program
.command("balance")
.description("获取钱包余额")
.action(balance);
program
.command("swap <amount> <from> <to>")
.description("交换代币")
.option("-c, --chain <chain>", "目标链", "base")
.option("-y, --yes", "跳过确认")
.action(swap);
program.parse();
选择模板
| 需求 | 推荐模板 |
|---|---|
| 自动化重复任务 | 机器人 |
| 移动/Web的HTTP API | 网络服务 |
| 可视化界面 | 仪表板 |
| 基于终端的工具 | CLI |
| 价格警报 | 机器人 |
| 投资组合查看器 | 仪表板 |
| 快速交易 | CLI |
通用文件
所有模板共享通用文件。加载 x402-client-patterns 技能以获取:
bankr-client.ts- SDK客户端设置executor.ts- 交易执行package.json- 基础依赖tsconfig.json- TypeScript配置.env.example- 环境模板.gitignore- 标准忽略
搭建后的下一步
- 安装依赖:
bun install或npm install - 配置钱包:复制
.env.example到.env并添加BANKR_PRIVATE_KEY - 注资钱包:在Base上添加USDC(推荐$1-2用于API成本)
- 自定义:修改模板以适应您的用例
- 运行:
bun dev或npm run dev用于开发 - 构建:
bun run build或npm run build用于生产