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プロジェクト向けのテンプレート集です。自動化ボット、HTTPサービス、ダッシュボード、コマンドラインツールのひな形を提供します。

主な機能

  1. 01ポーリングとスケジューラーを備えたボット用テンプレート
  2. 02RESTエンドポイントを備えたHTTPサービス用テンプレート
  3. 03ポートフォリオとスワップ画面用ダッシュボードテンプレート
  4. 04サブコマンドと対話プロンプトを備えたCLIテンプレート
  5. 05SDKとトランザクション実行用の共通ファイル

活用シーン

  1. 01定期取引や監視ボットのひな形作成
  2. 02Bankr 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"
  }
}

ダッシュボードテンプレート

ポートフォリオの追跡、スワップインターフェース、監視機能を備えた 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 を追加します(API コストとして $1-2 を推奨)
  4. カスタマイズする:用途に合わせてテンプレートを変更します
  5. 実行する:開発環境では bun dev または npm run dev
  6. ビルドする:本番環境向けには bun run build または npm run build

コメント