binance-auth について
binance-authは、Binance APIの認証情報を管理し、アカウントへのアクセスを確認するスキルです。暗号化保存に加え、本番環境とtestnetのプロファイル、権限・接続・残高の確認に対応します。
主な機能
- 01API認証情報の暗号化保存
- 02本番環境とtestnetのプロファイル
- 03権限と接続の確認
- 04アカウント残高の照会
- 05複数アカウントの管理
活用シーン
- 01複数のBinanceアカウント情報を保存
- 02APIキーの取引権限を確認
- 03アカウントの接続状態と残高を検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ ticruz38/ skills --skill binance-authインストール後、Claude Code で/binance-authを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignorepackage-lock.jsonpackage.jsontsconfig.jsonsrc/cli.tsindex.ts詳細
Binance Auth Skill
Binance 暗号資産取引所 API 用の認証スキルです。安全な API キーの保存と管理のために auth-provider を基盤として構築されています。Binance の本番環境とテストネット環境の両方に対応しています。
特長
- 安全な API キーの保存:API キーとシークレットを暗号化して保存します
- 環境の切り替え:本番環境とテストネットをシームレスに切り替えます
- 権限の検証:API キーの権限(spot、margin、futures)を確認します
- ヘルスチェック:API 接続とキーの状態を検証します
- 複数プロフィール:複数の Binance アカウントに対応します
- 残高の照会:ヘルスチェックの一環としてアカウント残高を確認します
インストール
npm install
npm run build
環境変数
環境変数は必要ありません。API キーは CLI を使ってプロフィールごとに設定します。
CLI の使用方法
ステータスの表示
node dist/cli.js status
API キーの接続
# Production environment
node dist/cli.js connect prod \
--key YOUR_API_KEY \
--secret YOUR_API_SECRET \
--env production
# Testnet environment
node dist/cli.js connect test \
--key YOUR_API_KEY \
--secret YOUR_API_SECRET \
--env testnet
ヘルスチェック
# Check specific profile
node dist/cli.js health prod
# Check all profiles
node dist/cli.js health
プロフィールの一覧表示
node dist/cli.js list
残高の取得
node dist/cli.js balance prod
権限の検証
node dist/cli.js validate prod
接続解除
node dist/cli.js disconnect prod
JavaScript/TypeScript API
クライアントの初期化
import { BinanceAuthClient, getBinanceAuth } from '@openclaw/binance-auth';
// Create client for specific profile
const binance = new BinanceAuthClient('prod');
// Or use singleton
const binance = getBinanceAuth('prod');
API キーの接続
const result = await binance.connect({
apiKey: 'your-api-key',
apiSecret: 'your-api-secret',
environment: 'production', // or 'testnet'
});
if (result.success) {
console.log('Connected! Permissions:', result.permissions);
}
接続の確認
const isConnected = await binance.isConnected();
console.log('Connected:', isConnected);
API 認証情報の取得
const credentials = await binance.getCredentials();
if (credentials) {
console.log('API Key:', credentials.apiKey);
console.log('Environment:', credentials.environment);
}
ヘルスチェック
const health = await binance.healthCheck();
console.log('Status:', health.status); // 'healthy' | 'unhealthy'
console.log('Message:', health.message);
アカウント残高の取得
const balance = await binance.getBalance();
if (balance) {
console.log('Total BTC:', balance.totalBTC);
console.log('Balances:', balance.balances);
console.log('Permissions:', balance.permissions);
}
権限の検証
const validation = await binance.validatePermissions();
console.log('Valid:', validation.valid);
console.log('Can Trade:', validation.canTrade);
console.log('Can Withdraw:', validation.canWithdraw);
console.log('Permissions:', validation.permissions);
接続解除
const disconnected = await binance.disconnect();
console.log('Disconnected:', disconnected);
API 権限
Binance API キーには、次の権限を設定できます。
SPOT- 現物取引MARGIN- マージン取引FUTURES- 先物取引DELIVERY- コイン担保先物PERM- 永続 API キーIP_RESTRICTED- IP 制限付きアクセス
環境
本番環境
- API ベース URL:
https://api.binance.com - 実資金による実取引
- Binance アカウントの認証が必要です
テストネット
- API ベース URL:
https://testnet.binance.vision - テスト資金によるペーパートレード
- 無料のテストネット登録先:https://testnet.binance.vision/
保存場所
認証情報は auth-provider データベースに保存されます:
~/.openclaw/skills/auth-provider/credentials.db
API キーは AES-256 で暗号化されます。
TypeScript の型
interface BinanceCredentials {
apiKey: string;
apiSecret: string;
environment: 'production' | 'testnet';
permissions?: string[];
}
interface BinanceConnectionResult {
success: boolean;
permissions?: string[];
canTrade?: boolean;
canWithdraw?: boolean;
error?: string;
}
interface BinanceBalance {
totalBTC: string;
balances: Array<{
asset: string;
free: string;
locked: string;
}>;
permissions: string[];
}
interface BinanceValidationResult {
valid: boolean;
permissions: string[];
canTrade: boolean;
canWithdraw: boolean;
}
エラー処理
try {
await binance.connect({ apiKey, apiSecret, environment: 'production' });
} catch (error) {
if (error.message.includes('Invalid API key')) {
// API key format is invalid
} else if (error.message.includes('API key validation failed')) {
// Key rejected by Binance
}
}
セキュリティに関する注意事項
- API シークレットは保存後に公開されることはありません
- すべての API 呼び出しで HMAC-SHA256 署名を使用します
- データベースファイルの権限は 0600(ユーザーのみ読み書き可能)です
- セキュリティを強化するため、Binance API キーに IP 制限を設定してください
- API 認証情報をバージョン管理にコミットしないでください
テスト
# Type checking
npm run typecheck
# Build
npm run build
# Run CLI
npm run cli -- status
依存関係
@openclaw/auth-provider- 認証情報を安全に保存します- HMAC-SHA256 署名に crypto モジュールを使用します
コメント
Markdown 対応