BitGo 抽象自定义
此模块提供了基础 AbstractUtxoCoin 比特币和类似比特币的基于UTXO的加密在BitGo平台内的分类和具体执行.
概览
这个 AbstractUtxoCoin class是所有基于UTXO的硬币的基础实施,为交易建设,签名,核查和回收业务提供了共同的功能. 每个支持的加密货币都扩展了这一类,以提供硬币特定的行为,同时利用共享的UTXO基础设施.
支持的硬币
具体执行情况载于 src/impl/ 目录 :
- (单位:千美元) - 比特币 (BTC)和比特币测试网变种
- (单位:千美元) - 比特币现金
- 检查/检查 - 比特币现金ABC(BCHA)
- 页:1 - 比特币SV(BSV)
- btg/ (单位:千美元) - 比特币黄金(BTG)
- 转点/ - 利特币(LTC)
- 破折号/ - 达什(DASH)
- 圆顶/ - 多克币(DOGE)
- 页:1 - 兹克什(ZEC)
关键特性
交易业务
- 建筑签名( S): 支持遗留交易格式和PSBT交易格式
- 多签名: 2- 3 有各种脚本类型的多相( P2SH, P2WSH, P2SH- P2WSH, P2TR- MuSig2)
- 核查签署前全面核查交易意向
- 解释: 解码并解释交易细节(投入、产出、费用)
钱包类型
- 固定脚本钱包: 具有确定地址生成的传统HD钱包
- 描述钱包: 使用输出脚本描述符的现代钱包格式
- 分配的保管:支持企业监管配置
地址管理
- 地址验证和衍生核查
- 支持多个地址格式( Base58, bech32, BCH 的取款符)
- 固定脚本钱包的链/基于索引的地址生成
回收业务
- 备份密钥回收: 在不可用BitGo时使用备份密钥收回资金
- 跨海峡复苏: 被送入错误链的收复硬币(例如被送入 LTC 地址的 BTC)
- V1 钱包回收: 对遗留的 V1 钱包恢复的支持
高级特性
- BIP322 信件签名支持
- MuSig2 为多相磁盘
- 重放链分割的保护
- 自定义更改地址处理
- RBF( 逐个替换) 交易支持
开发设置
VSCode 配置
为了在VSCode中取得最佳开发经验,配置 Mocha 测试探索器,其设置如下: .vscode/settings.json数字 :
{
"mochaExplorer.files": "test/**/*.ts",
"mochaExplorer.nodeArgv": ["--import", "tsx"],
"mochaExplorer.logpanel": true
}
此配置启用 :
- 测试发现: 自动找到所有类型脚本测试文件
test/目录 - 类型脚本支持: 用途
tsx用于不编译而运行类型Script测试 - 日志小组: 显示比较容易调试的测试输出
运行测试
通过配置Mocha测试探索器,您可以:
- 从 VSCode 测试探索面板查看和运行单个测试或测试套件
- 在编辑器中直接设置断点并调试测试
- 监测综合日志板中的测试输出