#bitcoin #block #amount #transaction #block-size #weight #coin

bitcoin-amt

表示以satoshis为单位的金额的结构体(可以是负数)

7次发布

0.1.16-alpha.02023年3月31日
0.1.15-alpha.02023年3月31日
0.1.12-alpha.02023年1月18日

#18 in #block-size

Download history 142/week @ 2024-03-11 184/week @ 2024-03-18 363/week @ 2024-03-25 312/week @ 2024-04-01 135/week @ 2024-04-08 172/week @ 2024-04-15 183/week @ 2024-04-22 171/week @ 2024-04-29 220/week @ 2024-05-06 173/week @ 2024-05-13 185/week @ 2024-05-20 128/week @ 2024-05-27 138/week @ 2024-06-03 140/week @ 2024-06-10 188/week @ 2024-06-17 213/week @ 2024-06-24

679 每月下载量
109 个crate中使用 (43 直接)

MIT 协议

270KB
663

bitcoin-amt

Bitcoin-amt 是一个Rust crate,它提供了比特币系统的子组件。此crate正在从C++转换为Rust,其中一些函数体可能仍在转换过程中。

标记和数学思想

  • MAX_BLOCK_SERIALIZED_SIZE:此标记表示一个区块可以有的最大序列化大小。比特币区块链中的区块是交易集合,由网络节点验证并添加到账本中。最大区块大小是系统可扩展性的重要参数,因为它限制了可以包含在区块中的交易数量。

  • MAX_BLOCK_WEIGHT:此标记表示一个区块可以有的最大重量。在比特币中,区块的重量是通过将所有交易序列化大小相加(见证数据乘以4)来计算的。区块重量用于确定最大区块大小,因为它限制了可以在网络上传输的数据量。

  • MAX_BLOCK_SIGOPS_COST:此标记表示一个区块可以有的最大签名操作成本。签名操作用于验证比特币网络中交易的合法性,其成本以签名操作单位(sigops)来衡量。最大sigops成本是网络安全的重要参数,因为它限制了可以用于创建恶意区块的计算资源量。

  • COINBASE_MATURITY:此标记表示在可以花费新铸造的比特币之前必须挖掘的区块数量。在比特币网络中,矿工每成功挖掘一个区块就会获得一定数量的比特币作为奖励。然而,这些硬币不能立即花费,因为它们需要“成熟”。此参数对于网络稳定性很重要,因为它防止矿工花费新铸造的硬币,然后试图“双花”它们。

  • WITNESS_SCALE_FACTOR:此令牌代表在计算区块重量时,见证数据大小的乘数。见证数据用于2017年引入比特币网络的隔离见证(SegWit)协议中。此参数对于网络的扩展性非常重要,因为它允许在不增加区块大小的情况下,将更多交易包含在区块中。

  • MIN_TRANSACTION_WEIGHT:此令牌代表交易可以拥有的最小重量。此参数对于网络的安全性非常重要,因为它可以防止恶意行为者创建非常小的交易,这些交易可能被用于网络拥塞。

  • MIN_SERIALIZABLE_TRANSACTION_WEIGHT:此令牌代表交易可以拥有的最小可序列化重量。此参数对于网络的效率非常重要,因为它允许节点快速丢弃无效的交易,而不消耗过多的计算资源。

  • LOCKTIME_VERIFY_SEQUENCE:此令牌代表在锁定时间计算中使用的序列号。锁定时间是比特币网络的一个功能,允许交易在一定时间内锁定或达到一定区块高度。此参数对于网络的安全性非常重要,因为它可以防止恶意行为者多次花费相同的硬币。

  • LOCKTIME_MEDIAN_TIME_PAST:此令牌代表在锁定时间计算中使用的过去中位数时间。此参数对于锁定时间计算的准确性非常重要,因为它允许节点以去中心化方式确定当前时间。

  • Amount:此令牌代表比特币中的货币金额。比特币使用固定点算术系统,其中货币的最小单位是1个satoshi(0.00000001 BTC)。

  • COIN:此令牌代表1个比特币,以satoshis为单位(100,000,000 satoshis = 1 BTC)。

17> 感谢!关于这个crate我们还应该了解什么?

以下是您可能还希望了解的有关bitcoin-amt Rust crate的额外信息

  • 该crate是比特币系统的一个子组件,特别是比特币核心实现。它用于处理和验证网络上的比特币交易和区块。

  • 该crate支持各种比特币特定类型和函数,如Amount(表示比特币金额的类型)、COIN(表示1个比特币的常量)和MAX_MONEY(表示比特币可能存在的最大数量)。

  • 该crate还包括对不同类型的"IsMine"过滤器进行支持,这些过滤器用于确定给定的比特币输出是否属于用户。不同的IsMine类型(ISMINE_NO、ISMINE_WATCH_ONLY、ISMINE_SPENDABLE、ISMINE_USED、ISMINE_ALL、ISMINE_ALL_USED和ISMINE_ENUM_ELEMENTS)用于根据所有权状态过滤比特币输出。

  • 此外,该crate还包括使用CachableAmount类型以内存高效的方式缓存比特币金额的功能。

  • 总的来说,bitcoin-amt Rust crate是比特币系统的一个关键组件,提供了快速高效的交易和区块处理及验证方式。

依赖关系

~89MB
~848K SLoC