一个使用 Go(golang)编写的安全比特币钱包守护程序
btcwallet 是一个处理单个用户比特币钱包功能的守护进程。 它既是 btcd 的 RPC 客户端,又是钱包客户端和传统 RPC 应用程序的 RPC 服务器。 公钥和私钥是使用 BIP0032 所述的层次确定格式生成的。 未加密的私钥不受支持,并且永远不会写入磁盘。 btcwallet 使用 BIP0044 所述的 m/44'/'/'// HD 路径来生成所有的地址。
由于 BIP0032 钱包中的公共数据非常敏感,btcwallet 提供了加密私钥和公共数据的选项。 这旨在避免在钱包文件遭到泄露时出现隐私风险,而不会暴露钱包管理的所有当前和未来地址(公钥)。虽然对这些信息的访问无法让攻击者花费或盗取硬币,但这意味着他们可以跟踪涉及您地址的所有交易,从而知道您的准确余额。 在未来的版本中,公共数据加密将扩展到交易。
btcwallet 不是 SPV 客户端,需要连接到本地或远程 btcd 实例,以通过 websockets 进行异步区块链查询和通知。完整的 btcd 安装说明可在 这里 查看。一个兼容 btcd 和 Bitcoin Core 的替代 SPV 模式计划在未来版本中推出。
JSON-RPC 服务器存在的目的是为了方便钱包应用程序从 Core 迁移,但并不保证完全兼容。由于其他设计决策(主要是 BIP0044),API 的某些部分(尤其是账户)必须以不同的方式工作。但是,如果您发现兼容性问题,并认为其可以合理地支持,请报告问题。默认情况下,此服务器已启用。
暂无开放 Issues,或尚未同步最近议题。