用途
btc-terminology 是一份面向 Bitcoin 相关代码开发的术语规范技能,用于防止在开发过程中混淆 bech32m(编码格式)与 taproot(地址类型)这两个概念。该技能强调这是一个常见的 bug 来源,并提供了明确的规则和参考表来指导正确使用。
主要能力
该技能的核心能力是区分两个容易混淆的术语:
- bech32m:编码格式,描述地址如何被序列化,用于 Bitcoin Core RPC 和 shell 脚本。
- taproot:地址类型,描述地址代表什么,用于配置文件和领域模型。
关键规则是:bech32m ≠ taproot,两者相关但不可互换。
技能提供了快速参考表,明确在不同上下文中应使用的正确术语:
- 配置 YAML/TOML 文件:使用 taproot,例如
address_type: "taproot" - 环境变量:使用 taproot,例如
WALLET_ADDRESS_TYPE="taproot" - Bitcoin Core CLI/RPC:使用 bech32m,例如
bitcoin-cli getnewaddress "" bech32m - Shell 脚本(接收地址):使用 bech32m,例如
getnewaddress "" bech32m - Go 领域代码(internal/domain/address/):使用 taproot,例如
AddrTypeTaproot - Go Bitcoin Core 接口(internal/domain/bitcoin/):使用 bech32m,例如
AddressTypeTaproot = "bech32m"
技能还列出了常见错误与正确写法,例如在配置文件中错误使用 address_type: "bech32m",或在 shell 脚本中错误使用 bitcoin-cli getnewaddress "" taproot。
使用方式
该技能以文档形式提供,开发者可在编写或审查 Bitcoin 相关代码时参考。技能包含验证清单,用于检查配置、环境变量、RPC 调用和 Go 代码中的术语使用是否正确。此外,技能还提供了相关文件列表和 BIP 文档引用(BIP350、BIP341、BIP86),便于进一步查阅。
适用场景
适用于处理 BTC 相关代码、配置文件或脚本的开发场景,特别是涉及 Taproot 地址生成、配置或 RPC 调用的项目。
限制
该技能仅提供术语规范与参考,不包含自动化检查工具或代码生成功能。具体实现细节需参考项目中的相关文件和 BIP 文档。