#wallet #bitcoin #descriptor #features #particular #metadata #flags

bitcoinwallet-feature

特定钱包功能的工具 — 描述符可以包含钱包元数据

2个版本

0.1.16-alpha.02023年4月2日
0.1.12-alpha.02023年1月19日

#18 in #particular

Download history 102/week @ 2024-05-05 99/week @ 2024-05-12 98/week @ 2024-05-19 93/week @ 2024-05-26 79/week @ 2024-06-02 55/week @ 2024-06-09 113/week @ 2024-06-16 85/week @ 2024-06-23 22/week @ 2024-06-30 81/week @ 2024-07-07 113/week @ 2024-07-14 94/week @ 2024-07-21 78/week @ 2024-07-28 81/week @ 2024-08-04 90/week @ 2024-08-11 68/week @ 2024-08-18

343 个月下载量
用于 40 个crate (4 直接)

MIT 许可证

525KB
2K SLoC

WalletFeature

这个Rust crate提供了与比特币钱包功能交互的功能。钱包功能是钱包与其支持的能力进行通信的一种方式,以及其他比特币系统组件可以查询和响应这些能力。

WalletFeature 结构体表示一个钱包功能,并提供了检查功能是否受支持以及获取最接近受支持功能的方法。 WalletFlags 结构体用于表示钱包中的受支持功能集。

is_feature_supported 函数可用于检查特定钱包功能是否由给定的标志集支持。

get_closest_wallet_feature 函数可用于获取给定功能的最接近受支持功能。这对于在不同比特币系统组件之间协商功能非常有用。

WalletDescriptor

WalletDescriptor 结构体表示比特币钱包的描述符。它提供了序列化和反序列化描述符的方法。

描述符包含有关钱包密钥的信息,例如公钥和推导路径,并可用于生成比特币地址和签名交易。

注意

此crate是直接从C++转换为Rust的比特币核心的一部分。因此,某些函数体可能仍在翻译过程中。请注意,翻译过程完成后,此系统将成为可测试的。

45> 哪些功能区分了钱包?

钱包可以在各种方面有所不同,例如

  1. 多重签名支持:钱包可以支持使用多个签名来授权交易,这可以增加一个额外的安全层。

  2. 分层确定性(HD)密钥:HD钱包使用确定性算法从单个主种子生成一系列公钥/私钥对。这允许更方便和安全地管理密钥,以及更容易备份和恢复钱包。

  3. 支付协议支持:支付协议是一个用于安全传输支付请求和验证支付详情的系统。支持此功能的钱包可以提供更安全、更可靠的支付。

  4. 自定义交易费设置:钱包可以让用户自定义发送比特币时支付的交易费,从而实现更快的确认时间或更低的费用。

  5. 隐私功能:一些钱包通过实施诸如货币控制(允许用户选择用于交易的具体货币)和对注重隐私的加密货币如门罗币的支持等功能来优先考虑隐私。

  6. 闪电网络支持:闪电网络是建立在比特币网络之上的第二层协议,允许进行近乎即时、低成本的交易。支持闪电网络的钱包可以提供更快、更便宜的交易。

  7. 脚本支持:比特币脚本允许进行更复杂和可编程的交易,从而实现更高级的使用案例和智能合约。支持更高级脚本的钱包可以启用更复杂的交易。

这些都是区分不同比特币钱包功能的几个例子。

46>还有什么其他的吗?

根据具体用途和实现,钱包还有许多其他区分功能。以下是一些例子:

  1. 多重签名支持:支持多重签名的钱包允许多方对交易进行签名,通过需要多方达成共识来提高安全性。

  2. 分层确定性(HD)钱包:HD钱包是一种从单个根密钥生成树状结构密钥对的类型钱包,提供了一种方便、安全地管理多个账户或地址的方法。

  3. 货币控制:货币控制允许用户指定在发送交易时使用哪些特定的输入,使用户对交易有更多控制权,并可能降低费用。

  4. 隔离见证(SegWit)支持:SegWit是比特币协议的一个软分叉升级,提高了交易吞吐量并降低了交易费用。支持SegWit的钱包可以利用这些好处。

  5. 闪电网络支持:闪电网络是建立在比特币区块链之上的第二层支付协议,允许进行快速、便宜、可扩展的交易。支持闪电网络的钱包可以利用这项技术更有效地发送和接收比特币。

依赖项

~99MB
~874K SLoC