mcpField
B
Bankr x402 SDK - Project Templates

Bankr x402 SDK - Project Templates

github.com/bankrbot开发88356 次安装31 周前更新
代码仓库

关于 Bankr x402 SDK - Project Templates

这是一组用于构建 Bankr SDK x402 微支付项目的 TypeScript 模板,面向开发者。模板涵盖自动化 Bot、HTTP 服务、仪表盘和命令行工具。

主要功能

  1. 01含轮询与调度的 Bot 模板
  2. 02含 REST 端点的 HTTP 服务模板
  3. 03展示投资组合与兑换的仪表盘模板
  4. 04含子命令和交互提示的 CLI 模板
  5. 05共享 SDK 与交易执行文件

适用场景

  1. 01搭建定时交易或监控 Bot
  2. 02围绕 Bankr SDK 构建 HTTP API
  3. 03创建投资组合仪表盘或兑换界面
  4. 04启动终端交易工具

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bankrbot/claude-plugins --skill bankr-x402-sdk---project-templates

安装后在 Claude Code 中输入/bankr-x402-sdk---project-templates确认已加载。

详细介绍

x402 SDK 项目模板

为使用 x402 小额支付的 Bankr SDK 项目提供目录结构和模板。

可用模板

模板使用场景主要功能
bot自动化任务轮询循环、调度器、交易执行
web-serviceHTTP APIREST 端点、异步处理、Webhook 支持
dashboardWeb UI前端 + 后端、投资组合展示
cli命令行工具子命令、交互式提示

Bot 模板

适用于自动交易机器人、价格监控器、投资组合再平衡工具和定时任务。

目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│   ├── index.ts           # Main entry point with scheduler
│   ├── bankr-client.ts    # Bankr SDK client (from x402-client-patterns skill)
│   ├── executor.ts        # Transaction execution with viem/ethers
│   ├── types.ts           # TypeScript interfaces
│   └── config.ts          # Configuration loading
└── scripts/
    └── run.sh             # Convenience script
主要功能
  • 轮询循环:可配置重复操作的间隔
  • 交易执行:内置 viem 集成,用于发送交易
  • 状态流式传输:实时更新任务进度
  • 错误处理:自动重试并逐步延长间隔
  • 平稳关闭:处理 SIGINT/SIGTERM
使用场景
  • 价格监控和提醒
  • 自动化兑换策略
  • 投资组合再平衡
  • 定时市场分析
  • 类似 DCA 的自动化
入口点模式(index.ts)
import { bankrClient } from "./bankr-client";
import { executeTransaction } from "./executor";

const INTERVAL = 60000; // 1 minute

async function runBot() {
  console.log("Starting Bankr SDK bot...");

  while (true) {
    try {
      const result = await bankrClient.promptAndWait({
        prompt: "Check ETH price",
        onStatusUpdate: (msg) => console.log("Status:", msg),
      });

      if (result.status === "completed") {
        console.log("Result:", result.response);

        // Execute transactions if returned
        if (result.transactions?.length) {
          for (const tx of result.transactions) {
            await executeTransaction(tx);
          }
        }
      }
    } catch (error) {
      console.error("Error:", error);
    }

    await new Promise((r) => setTimeout(r, INTERVAL));
  }
}

runBot();

Web 服务模板

适用于将 Bankr SDK 封装起来,供移动应用或集成使用的 HTTP API。

目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│   ├── index.ts           # Server entry point
│   ├── server.ts          # Express/Fastify server setup
│   ├── routes/
│   │   ├── health.ts      # Health check endpoint
│   │   ├── swap.ts        # Swap endpoints
│   │   └── portfolio.ts   # Portfolio endpoints
│   ├── bankr-client.ts    # Bankr SDK client
│   ├── types.ts           # TypeScript interfaces
│   └── config.ts          # Configuration loading
└── scripts/
    └── run.sh
主要功能
  • REST API 端点:简洁的 API 设计
  • 请求验证:输入清理
  • 异步处理:非阻塞式 SDK 操作
  • 速率限制:防止滥用
  • CORS:支持跨源请求
使用场景
  • Bankr SDK 的 API 网关
  • 移动应用后端
  • 面向集成的交易 API
  • 由 Webhook 驱动的自动化
其他依赖项
{
  "dependencies": {
    "express": "^4.18.0"
  }
}

Dashboard 模板

适用于带有投资组合跟踪、兑换界面或监控功能的 Web UI。

目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── server/
│   ├── index.ts           # Backend server
│   ├── bankr-client.ts    # Bankr SDK client
│   ├── routes/
│   │   └── api.ts         # API routes for frontend
│   └── types.ts
├── public/
│   ├── index.html         # Main HTML page
│   ├── styles.css         # Basic styles
│   └── app.js             # Frontend JavaScript
└── scripts/
    └── run.sh
主要功能
  • 简易前端:HTML/CSS/JS(无需构建步骤)
  • 后端 API:用于 SDK 操作的 Express 服务
  • 投资组合展示:代币余额和价值
  • 兑换界面:通过 UI 执行兑换
使用场景
  • 投资组合跟踪仪表板
  • 个人交易界面
  • 市场监控
  • 仓位管理

CLI 模板

适用于带有子命令和交互功能的命令行工具。

目录结构
{project-name}/
├── package.json
├── tsconfig.json
├── .env.example
├── .gitignore
├── README.md
├── src/
│   ├── index.ts           # CLI entry with commander.js
│   ├── commands/
│   │   ├── swap.ts        # Swap commands
│   │   ├── balance.ts     # Balance query commands
│   │   └── send.ts        # Transfer commands
│   ├── bankr-client.ts    # Bankr SDK client
│   ├── executor.ts        # Transaction execution
│   └── 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("CLI for Bankr SDK operations")
  .version("1.0.0");

program
  .command("balance")
  .description("Get wallet balances")
  .action(balance);

program
  .command("swap <amount> <from> <to>")
  .description("Swap tokens")
  .option("-c, --chain <chain>", "Target chain", "base")
  .option("-y, --yes", "Skip confirmation")
  .action(swap);

program.parse();

选择模板

需求推荐模板
自动重复任务bot
移动端/Web HTTP APIweb-service
可视化界面dashboard
基于终端的工具cli
价格提醒bot
投资组合查看器dashboard
快速交易cli

常见文件

所有模板共用以下文件。加载 x402-client-patterns 技能以获取:

  • bankr-client.ts - SDK 客户端设置
  • executor.ts - 交易执行
  • package.json - 基础依赖项
  • tsconfig.json - TypeScript 配置
  • .env.example - 环境模板
  • .gitignore - 标准忽略项

脚手架搭建后的后续步骤

  1. 安装依赖项:bun install 或 npm install
  2. 配置钱包:将 .env.example 复制为 .env,并添加 BANKR_PRIVATE_KEY
  3. 为钱包注资:在 Base 上添加 USDC(建议准备 $1-2,用于支付 API 费用)
  4. 自定义:根据使用场景修改模板
  5. 运行:开发时使用 bun dev 或 npm run dev
  6. 构建:生产环境使用 bun run build 或 npm run build

评论

支持 Markdown