SPV Wallet:面向 BSV 区块链的开源非托管钱包全攻略

·


项目概览:SPV Wallet 核心价值

在「非托管钱包」「BSV 区块链」「开源」三个关键词交汇之处,SPV Wallet 提供了集 UTXO 管理、xPub 追踪、Paymail 收发、BEEF 交易验证于一体的轻量化钱包后端。如果你希望自建节点而非依赖第三方托管服务,它就是零门票入口。

核心亮点:


一分钟极速安装

系统要求

源码安装

# 拉取代码
git clone https://github.com/bitcoin-sv/spv-wallet.git
cd spv-wallet

# 下载依赖并编译
go mod tidy
go build -o spv-wallet cmd/*
如采用后期 CI/CD 自动构建,-ldflags 可加上版本信息,利于溯源。

Docker Compose 快速发车

运行官方一键脚本,三十秒搞定完整容器栈:

./start.sh --help   # 查看可选参数
./start.sh -db postgres -c redis -sw true

👉 跟着 3 分钟教学视频,加工一条专属私链试试手气。

服务端口速查:


配置秘籍:灵活接管每一项参数

优先级高 —— 命令行与 ENV

类型用法示例覆盖级别
Flag-C /custom/config.yaml最高
ENVSPVWALLET_AUTH_ADMIN_KEY=xpub6...中等
Config fileconfig.yaml默认兜底

TAAL API KEY 申请

  1. 打开 TAAL 控制台 注册账号。
  2. Dashboard 首页即可获得主网 & 测试网 Key。
  3. nodes.apis.token 填入对应字段,重启生效。

安全与校验:UTXO 不信任,只验证

SPV 模式通过 BEEF 证明 + Merkle Path 轻量校验交易是否被矿工打包,无需下载 500GB+ 完整区块数据。脚本范例:

curl -X POST http://localhost:3003/v1/transaction/send \
  -H "Content-Type: application/json" \
  -d '{"rawtx":"02000000010..."}'

返回字段内含 block_hashspv_valid,一目了然。


开发进阶:二次集成锦囊

扩展字段示例

你可以自定义 xPub 授权策略,通过 auth.scheme=xpub|hd|custody 切换分层衍生模式;或多租户场景下,利用 admin_key 切分账户查看权限。

性能实测

官方基准数据:


FAQ:开发者和运营常问的 5 个问题

Q1:SPV Wallet 与 simply.cash 有什么区别?
A:Simply.cash 是面向用户的移动端钱包,SPV Wallet 是自建后端,供开发者为自家 App 嵌入链上能力,目标人群不同。

Q2:可以同时跑多条链吗?
A:目前仅支持 BSV。通过修改 chainParams 自定义分叉版本,理论上可行,但需自行审核共识差异。

Q3:如何备份私钥?
A:私钥储存在你的 DB 里已加密。建议额外导出 admin_key 并存入 HSM 或冷签机,形成双保险。

Q4:Docker 镜像多大?
A:Alpine + 轻量依赖,压缩后仅 27 MB,CI 管道传输无压力。

Q5:Paymail 域名如何配置 SSL?
A:脚本内已集成 Certbot,80/443 端口映射好即可全自动签发 Let’s Encrypt 证书,支持通配符模式。


代码规范与社区共建

贡献流程:

  1. Fork 仓库 → 拉功能分支 (feat/xxx) → PR。
  2. 遵守 官方代码规范,CI 检查通过即合并。
  3. 重大改动需更新单元测试与性能基准,Reviewers 会特别关注 wallet/spv/client_test.go

授权协议

采用 Open BSV License,商业闭源二次分发需法务对比条款,其他场景可自由使用、修改。


至此,你已掌握 SPV Wallet 的「安装-配置-运维」全链路。把钱包握在自己手里,为下一轮比特币应用浪潮蓄力!