2个版本
0.1.16-alpha.0 | 2023年4月2日 |
---|---|
0.1.12-alpha.0 | 2023年1月19日 |
#18 in #particular
343 个月下载量
用于 40 个crate (4 直接)
525KB
2K SLoC
WalletFeature
这个Rust crate提供了与比特币钱包功能交互的功能。钱包功能是钱包与其支持的能力进行通信的一种方式,以及其他比特币系统组件可以查询和响应这些能力。
WalletFeature
结构体表示一个钱包功能,并提供了检查功能是否受支持以及获取最接近受支持功能的方法。 WalletFlags
结构体用于表示钱包中的受支持功能集。
is_feature_supported
函数可用于检查特定钱包功能是否由给定的标志集支持。
get_closest_wallet_feature
函数可用于获取给定功能的最接近受支持功能。这对于在不同比特币系统组件之间协商功能非常有用。
WalletDescriptor
WalletDescriptor
结构体表示比特币钱包的描述符。它提供了序列化和反序列化描述符的方法。
描述符包含有关钱包密钥的信息,例如公钥和推导路径,并可用于生成比特币地址和签名交易。
注意
此crate是直接从C++转换为Rust的比特币核心的一部分。因此,某些函数体可能仍在翻译过程中。请注意,翻译过程完成后,此系统将成为可测试的。
45> 哪些功能区分了钱包?
钱包可以在各种方面有所不同,例如
-
多重签名支持:钱包可以支持使用多个签名来授权交易,这可以增加一个额外的安全层。
-
分层确定性(HD)密钥:HD钱包使用确定性算法从单个主种子生成一系列公钥/私钥对。这允许更方便和安全地管理密钥,以及更容易备份和恢复钱包。
-
支付协议支持:支付协议是一个用于安全传输支付请求和验证支付详情的系统。支持此功能的钱包可以提供更安全、更可靠的支付。
-
自定义交易费设置:钱包可以让用户自定义发送比特币时支付的交易费,从而实现更快的确认时间或更低的费用。
-
隐私功能:一些钱包通过实施诸如货币控制(允许用户选择用于交易的具体货币)和对注重隐私的加密货币如门罗币的支持等功能来优先考虑隐私。
-
闪电网络支持:闪电网络是建立在比特币网络之上的第二层协议,允许进行近乎即时、低成本的交易。支持闪电网络的钱包可以提供更快、更便宜的交易。
-
脚本支持:比特币脚本允许进行更复杂和可编程的交易,从而实现更高级的使用案例和智能合约。支持更高级脚本的钱包可以启用更复杂的交易。
这些都是区分不同比特币钱包功能的几个例子。
46>还有什么其他的吗?
根据具体用途和实现,钱包还有许多其他区分功能。以下是一些例子:
-
多重签名支持:支持多重签名的钱包允许多方对交易进行签名,通过需要多方达成共识来提高安全性。
-
分层确定性(HD)钱包:HD钱包是一种从单个根密钥生成树状结构密钥对的类型钱包,提供了一种方便、安全地管理多个账户或地址的方法。
-
货币控制:货币控制允许用户指定在发送交易时使用哪些特定的输入,使用户对交易有更多控制权,并可能降低费用。
-
隔离见证(SegWit)支持:SegWit是比特币协议的一个软分叉升级,提高了交易吞吐量并降低了交易费用。支持SegWit的钱包可以利用这些好处。
-
闪电网络支持:闪电网络是建立在比特币区块链之上的第二层支付协议,允许进行快速、便宜、可扩展的交易。支持闪电网络的钱包可以利用这项技术更有效地发送和接收比特币。
依赖项
~99MB
~874K SLoC