bsv钱包客户端
 
你经纪人最喜欢的钱包。
一个自托管的BRC-100钱包服务器和CLI。单一Rust二进制文件。作为命令行钱包、具有所有28个WalletInterface端点的HTTP服务器或两者同时运行。与MetaNet客户端有线兼容。
专为人工智能代理、自主软件和想要自托管BSV基础设施的开发人员而构建。
安装
curl -sSf https://raw.githubusercontent.com/Calhooon/bsv-wallet-cli/main/install.sh | sh或者从源代码构建:
cargo install --git https://github.com/Calhooon/bsv-wallet-cli.git快速开始
# Initialize wallet (generates identity key, creates SQLite database)
bsv-wallet init
# Show your funding address
bsv-wallet address
# Check balance
bsv-wallet balance
# Run the HTTP server (default port 3322)
bsv-wallet daemon用例
本地开发钱包
跑 bsv-wallet daemon 在你的机器上。针对28个BRC-100端点构建应用程序 localhost:3322.Wire与MetaNet客户端兼容——任何为其构建的工具都可以在不进行修改的情况下工作。
可部署钱包服务器
在您自己的基础设施上托管。任何使用BRC-100的应用程序都可以通过更改一个URL进行连接:
# On your server
bsv-wallet init
bsv-wallet daemon
# From any client (bsv-worm, your app, etc.)
WORM_WALLET_URL=https://wallet.myserver.com:3322多智能体车队的共享钱包
多个AI代理共享一个钱包、一个资金来源、一个UTXO池:
# One wallet server
bsv-wallet daemon
# N agents pointing at it
WORM_WALLET_URL=http://wallet-internal:3322 bsv-worm serve --port 8080
WORM_WALLET_URL=http://wallet-internal:3322 bsv-worm serve --port 8081看 bsv蠕虫 对于使用此钱包的自主代理。
监护权分离
将密钥保存在加固的服务器上,在一次性虚拟机上运行代理。破解特工,钥匙是安全的。钱包从不暴露私钥材料——客户发送 protocol_id, key_id, counterparty 钱包通过BRC-42在内部获取密钥。
分叉和定制
交换存储后端,添加HSM密钥管理,将其放在公司代理后面进行审计日志记录,添加OAuth/mTLS——BRC-100接口保持不变。为MetaNet Client构建的任何东西都可以在您的fork上无需修改即可工作。
为什么选择bsv钱包cli?
- 无需GUI --在服务器、虚拟机、CI管道上无头运行。唯一不需要桌面或浏览器的BRC-100钱包。
- 无监护权的 --你的钥匙留在你的机器上。没有云服务,没有帐户,没有第三方。
- 电线兼容 --任何为MetaNet客户端构建的工具都可以在不进行修改的情况下工作。相同的端点,相同的JSON格式。
- 专为代理商打造 --人工智能代理、自主软件、多钱包车队。一个钱包服务器,N个代理指向它。
CLI命令
| 命令 | 描述 |
|---|---|
init | 生成身份密钥并创建钱包数据库 |
identity | 显示公钥和身份信息 |
balance | 显示可支配余额 |
address | 显示BRC-29资金地址 |
send | 将BSV发送到P2PKH地址 |
fund | 将BEEF交易内部化(接收资金) |
outputs | 列出未用产出 |
actions | 列出交易历史记录 |
split --count N | 拆分UTXO以实现并发支出 |
daemon | 运行监视器+HTTP服务器(生产) |
serve | 仅运行HTTP服务器(开发模式) |
services | 显示区块链服务状态 |
HTTP服务器
上的所有28个BRC Wallet接口端点 http://127.0.0.1:3322,与MetaNet客户端有线兼容。
端点
状态 (获取)
/isAuthenticated--健康检查/getHeight--当前链条高度/getNetwork--mainnet或testnet/getVersion--钱包版本/waitForAuthentication--身份验证状态
加密 (POST,需要 Origin 头球
/getPublicKey--身份或派生公钥/createSignature//verifySignature--ECDSA签名/encrypt//decrypt--通过BRC-42进行对称加密/createHmac//verifyHmac--HMAC操作/getHeaderForHeight--块标头查找
交易 (POST,需要 Origin 头球
/createAction--构建、签署和广播事务/signAction--签署延期(未签署)交易/abortAction--取消延期交易并释放UTXO/internalizeAction--接受收到的付款/listActions--交易历史/listOutputs--UTXO列表/relinquishOutput--释放输出
证书 (POST,需要 Origin 头球
/acquireCertificate--存储证书/listCertificates--查询证书/proveCertificate--证明证书所有权/relinquishCertificate--删除证书
发现 (POST,需要 Origin 头球
/discoverByIdentityKey//discoverByAttributes--证书发现/revealCounterpartyKeyLinkage//revealSpecificKeyLinkage--关键环节揭示
建筑
bsv-wallet-cli (this repo -- CLI + HTTP server)
|-- rust-wallet-toolbox (wallet engine -- storage, signing, broadcasting)
+-- bsv-sdk (WalletInterface trait, types, crypto primitives)- 存储:通过sqlx实现SQLite(单文件,可移植)
- 并发:支出操作通过FIFO锁排队。所有其他端点(加密、查询、状态)都是完全并发的。
- 区块链:带有WoC/BHS/Bitails故障转移的链轨(主要)
配置
所有配置都是通过环境变量进行的:
| 变量 | 必填 | 描述 |
|---|---|---|
ROOT_KEY | 是 | 钱包根私钥(十六进制)。由...设定 bsv-wallet init. |
CHAINTRACKS_URL | 否 | 用于链跟踪的链跟踪服务器URL |
AUTH_TOKEN | 否 | HTTP身份验证的承载令牌(仅限本地主机,可选) |
TLS_CERT_PATH | 否 | TLS证书路径(需要 --features tls) |
TLS_KEY_PATH | 否 | TLS私钥路径(需要 --features tls) |
MIN_UTXOS | 否 | 守护程序模式下的低UTXO警告阈值(默认值:3) |
端口设置通过 --port CLI标志(默认值:3322),不是环境变量。
MCP 服务器
一个单独的二进制文件将所有28个端点作为MCP工具公开给AI代理(Claude Code、Codex等):
# Start the wallet daemon first
bsv-wallet daemon
# In another terminal -- start MCP server (stdio transport, 29 tools)
bsv-wallet-mcp添加到您的Claude Code MCP配置中:
{
"mcpServers": {
"bsv-wallet": {
"command": "bsv-wallet-mcp",
"env": { "WALLET_URL": "http://localhost:3322" }
}
}
}建筑
# Standard build
cargo build --release
# With TLS support
cargo build --release --features tls测试
# Run all synthetic tests (no server needed, 41 tests)
cargo test --test integration
# Run e2e tests against a live wallet
bsv-wallet daemon &
WALLET_URL=http://localhost:3322 cargo test --test integration e2e_ -- --test-threads=1