@ fireblocks/ fireblocks-cli (英语)
命令行接口 防火墙 API (英语). 配置一次, 引用您终端或 AI 代理的 Fireblocks 操作 .
命令由Fireblocks OpenAPI spec生成,因此每个端点都可以被到达,而新的端点在CLI更新时会自动出现. 认证和JWT请求的签名是为你处理的.
安装
家庭工作人员(macOS)
brew tap fireblocks/fireblocks-cli
brew install fireblocks-cli
npm (macOS / Linux / Windows) (中文(简体) )
npm install -g @fireblocks/fireblocks-cli
独立安装器
下载您平台的最新版本 GitHub 发布需要节点.
马科斯
| 建筑 | 安装器 | 塔宝 |
|---|---|---|
| ARM64 (平面硅) | fireblocks-v*-arm64.pkg | fireblocks-v*-darwin-arm64.tar.gz |
| x64 (英特尔) | fireblocks-v*-x64.pkg | fireblocks-v*-darwin-x64.tar.gz |
窗口
| 建筑 | 安装器 | 塔宝 |
|---|---|---|
| x64 (韩语) | fireblocks-v*-x64.exe | fireblocks-v*-win32-x64.tar.gz |
说明: 如果安装器在安装过程中显示"PATH未更新",则您的系统PATH超过了Windows' 1024-字符限制. 使用
npm install -g @fireblocks/fireblocks-cli相反,或手动添加C:\Program Files\fireblocks\bin安装后返回路径.
链接
| 建筑 | .deb (乌班图/德比安) | 塔宝 |
|---|---|---|
| x64 (韩语) | fireblocks-v*-amd64.deb | fireblocks-v*-linux-x64.tar.gz |
| 阿尔马-64 | fireblocks-v*-arm64.deb | fireblocks-v*-linux-arm64.tar.gz |
Tarball也作为 .tar.xz 用于较小的下载.
为了验证下载,请比较 sha256 显示在发布页面,反对:
# macOS / Linux
sha256sum <downloaded-file>
# macOS alternative
shasum -a 256 <downloaded-file>
版本
这个CLI跟随 语义版本,但有一个例外:在 ea 寿命周期状态。 EA业务一般不可用,可能并非所有客户都可以使用. 它们可以在到达GA前改变或破裂.
快开始
# 1. Configure your API key and secret (from the Fireblocks Console)
fireblocks configure
# 2. Verify credentials
fireblocks whoami
# 3. Make a request
fireblocks vaults get-paged-vault-accounts
# 4. Discover the API
fireblocks help-index
图标
fireblocks configure - 管理全权证书
将您的 API 密钥 ID 和 RSA 密钥存储到 ~/.config/fireblocks/config.json对于特工和CI,使用env vars或旗帜代替(见 认证) (中文(简体) ).
fireblocks configure # set up the default profile
fireblocks configure --profile profile-name # named profile for multi-env setups
fireblocks configure --set-default=profile-name # switch the default profile without re-entering credentials
当配置第二个配置时,您被问及是否将它设定为默认 。 配置总是存储 baseUrl 明确表明文件是自我描述的.
fireblocks whoami — 显示当前配置文件
从本地配置文件打印默认配置文件名称、被遮盖的 API 密钥和基准 URL。 没有API呼叫.
fireblocks whoami
示例输出 :
{
"defaultProfile": "default",
"apiKey": "apiKey",
"baseUrl": "https://api.fireblocks.io"
}
fireblocks <namespace> <action> ——API业务
命令来自 Fireblocks OpenAPI spec. OpenAPI 路径参数成为需要的旗帜(kebab-case);查询参数成为可选旗帜. 写行动把尸体当作 --data '<json>'。 。 。 .
# Reads
fireblocks vaults get-paged-vault-accounts
fireblocks vaults get-vault-account --vault-account-id 0
# Writes (include --no-confirm for non-interactive)
fireblocks transactions create-transaction \
--data '{"assetId":"BTC","amount":"0.01","source":{"type":"VAULT_ACCOUNT","id":"0"},"destination":{"type":"VAULT_ACCOUNT","id":"1"}}' \
--no-confirm
# Idempotent retries
fireblocks transactions create-transaction \
--data '{...}' \
--idempotency-key "$(uuidgen)" --no-confirm
全球旗帜 :
| 旗帜 | 信封瓦尔 | 目的 |
|---|---|---|
--api-key | FIREBLOCKS_API_KEY | API 密钥标识 |
--secret-key | FIREBLOCKS_SECRET_KEY 编号 : FIREBLOCKS_SECRET_KEY_PATH | RSA 私钥( PEM 字符串或路径) |
--base-url | FIREBLOCKS_BASE_URL | 覆盖结束点( 默认) https://api.fireblocks.io沙盒 https://sandbox-api.fireblocks.io(中文(简体) ) |
--profile | 已命名的配置配置文件 | |
--data | JSON 写作操作体 | |
--idempotency-key | 用于安全重试写入操作的 UUID | |
--no-confirm | 写入时跳过确认提示 | |
--dry-run | 打印组装的请求而不发送 | |
--debug | 日志请求/ 回复细节到 stderr | |
--output | 输出格式 : json (违约)或 yaml |
fireblocks help-index - 发现API
help-index 打印一个简洁的 JSON 列表,其中列出CLI 暴露的每一种资源与行动——在 2K 符号下为完整目录。 为特工设计:一次呼叫足以进行计划,无需预先装入每个资源文件.
fireblocks help-index # all resources and actions
fireblocks vaults --help # detail for one namespace
fireblocks vaults get-vault-account --help # detail for one action
fireblocks vaults get-vault-account --dry-run # preview the request
逐步披露:以 --help,拓宽到 help-index 只有在你需要找到东西的时候.
认证
全权证书决定按此顺序排列(第一优先):
- CLI 旗帜 :
--api-key, (中文(简体) ),--secret-key - 环境变量:
FIREBLOCKS_API_KEY+(减)FIREBLOCKS_SECRET_KEY|FIREBLOCKS_SECRET_KEY_PATH(中文(简体) ) - 配置配置文件 :
~/.config/fireblocks/config.json(选择为--profile <name>(中文(简体) )
fireblocks configure 仅限交互。 特工和CI必须使用旗子或地道.
核准和安全
与工作空间相对应的写入操作 交易授权政策。CLI提交请求;技术咨询方案决定这些请求是否需要共同签署人或管理人的批准。 CLI不是安全边界——TAP是. 把CLI的证明 放在你对任何密钥的 处理上一样小心.
产出和出错
- 静态: JSON 数据
- 标准: 生命周期警告、调试日志和错误
寿命周期警告. 当回复中报告非GA生命周期状态时(ea, (中文(简体) ), deprecated 或者说 closed),CLI打印出一行来命名操作. 国家从 Fireblocks-Lifecycle-State 响应头,所以无论您安装的 CLI 版本都准确:
Warning: Operation 'getWebhooks' is in EA (Early Availability) and is not generally available. It may change or break before it reaches GA.
对于 deprecated 它包括日落日期,加上API提供的替换和迁移指南。 A 类 closed 操作通常以 410 Gone,不需要警告;如果它仍然响应(您的工作空间有暂时的例外),则CLI警告操作已经关闭,您的访问可能被取消。 警告为信息: stdout和出站代码不变,也出现在出站错误回复上. 为了压制它,设置 FIREBLOCKS_SDK_SUPPRESS_LIFECYCLE_WARNING 至除此之外的任何其他值 0 或者说 false数字 :
export FIREBLOCKS_SDK_SUPPRESS_LIFECYCLE_WARNING=1
错误结构为 Stderr 上的 JSON :
{"code": 5, "status": 429, "message": "Rate limit exceeded", "request_id": "abc-123", "retry_after": 30}
退出代码 :
| 代码 | 含义 |
|---|---|
| 0 个 | 成绩 |
| 1个 | 客户端错误 (400/409/422) |
| 2个 | 用法/参数错误 |
| 3个 | Auth 错误 (401/ 403) |
| 页:1 | 未找到( 404) |
| 页:1 | 利率有限(429)——在 retry_after 秒数 |
| 6个 | 服务器出错 (500+) |
| 第7条 | 超时(30s) |
AI探员
CLI的设计由编码代理驱动(Claude Code, Cursor, Devin). 安装 CLI, 然后放下 SKILL.md 输入您的代理技能目录。 特工会:
- 通过
help-index - 通过在命令之间插入 JSON 来构建工作流程
- 智能地使用退出代码和
retry_after
# List vault accounts, filter with jq, pipe to the next command
fireblocks vaults get-paged-vault-accounts \
| jq -r '.accounts[] | select(.assets[].balance > 0) | .id'
MCP的补充(AI Link)
对于受益于已输入工具计划的工作流程,使用 防火墙 AI 链接 MCP. (中文(简体) ). 使用CLI来操作叶子,脚本, 以及任何时间 环境图案符号都不值上下文成本。 两者是设计共存的.
捐款
问题和企业责任 github.com/防火墙/防火墙-cli。 。 。 .