#比特币 #地址 #地址 #网络 #序列化 #系统 #结构

nightly bitcoin-network

表示网络的抽象 — 一个地址可能属于多个网络

7 个版本

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

#99 in #地址

Download history 139/week @ 2024-04-15 151/week @ 2024-04-22 126/week @ 2024-04-29 165/week @ 2024-05-06 136/week @ 2024-05-13 140/week @ 2024-05-20 97/week @ 2024-05-27 111/week @ 2024-06-03 113/week @ 2024-06-10 135/week @ 2024-06-17 155/week @ 2024-06-24 104/week @ 2024-07-08 192/week @ 2024-07-15 101/week @ 2024-07-22 104/week @ 2024-07-29

501 每月下载
用于 63 个crate (21 直接)

MIT 许可证

575KB
1.5K SLoC

bitcoin-network


bitcoin-network crate 是将比特币代码库从 C++ 直接翻译到 Rust 的结果,是比特币系统的一个子组件。这个 crate 提供了一组与比特币网络内部通信和消息传播相关的数据结构和函数。

这个 crate 包括如 NetAddr 这样的结构,它表示用于与其他比特币节点通信的网络地址,以及 Network,它表示比特币网络协议。ZeroSpan 类型用于零长度的跨度,而 Reachability 表示比特币节点的可达性。

该 crate 提供的函数包括检查网络地址的有效性和属性的方法、序列化和反序列化网络数据以及获取各种网络相关信息。它还包括计算与网络相关的数学属性(如 IP 地址的子网掩码位数)的函数。

总的来说,bitcoin-network crate 是比特币系统的一个关键组件,提供了在比特币网络中通信和传播消息所需的功能。

38> 谢谢 — 你能告诉我关于 NetAddr 吗?

NetAddr 是 Bitcoin 网络中用于表示网络地址的 Rust 结构。它包括 IP 地址和端口号,以及其他信息,如网络版本和地址的可达性。

在比特币中,网络地址用于维护节点之间的对等网络,这些节点通过网络传输交易和区块。网络中的每个节点都维护一个已知网络地址列表,它可以用来建立新连接并维持现有连接。

NetAddr 提供了一种方便的方式在 Rust 代码中表示这些网络地址,使得包含网络地址的网络消息的序列化和反序列化变得容易。

该结构包含多种方法来操作和查询网络地址的属性,例如 is_reachable(),它检查地址是否当前在网络中可达,以及 to_string(),它返回地址的字符串表示形式。

总的来说,NetAddr 是在比特币网络环境中管理和操作网络地址的有用工具。

依赖项

~88MB
~829K SLoC