6 个版本

0.2.2 2023年10月29日
0.2.1 2023年10月27日
0.1.2 2022年11月20日
0.1.1 2022年8月25日
0.1.0 2022年5月30日

#405 in 神奇豆子

Download history 120/week @ 2024-03-13 47/week @ 2024-03-20 72/week @ 2024-03-27 146/week @ 2024-04-03 101/week @ 2024-04-10 186/week @ 2024-04-17 133/week @ 2024-04-24 217/week @ 2024-05-01 124/week @ 2024-05-08 270/week @ 2024-05-15 355/week @ 2024-05-22 552/week @ 2024-05-29 559/week @ 2024-06-05 505/week @ 2024-06-12 837/week @ 2024-06-19 729/week @ 2024-06-26

2,731 每月下载量
用于 4 个crate (2直接)

MIT/Apache

35KB
748

Rust 的 Ethereum 公共地址实现。

此crate提供了一个用于表示 Ethereum 公共地址的 Address 类型。它实现了 ERC-55 混合大小写校验和的 Display 格式化和解析,使用 Address::from_str_checksum() 进行验证。

此外,还包括了一个 address! 宏,用于编译时验证地址常量。在底层,它使用 const fn 实现,不使用过程宏。

用法

只需将依赖项添加到您的 Cargo.toml

[dependencies]
ethaddr = "*"

有关完整文档,请查看 docs.rs.


lib.rs:

Rust 的 Ethereum 公共地址实现。

此crate提供了一个用于表示 Ethereum 公共地址的 Address 类型。

校验和

地址默认使用 ERC-55 混合大小写校验和编码格式化。在解析时,地址校验和可以选择性验证 [Address::from_str_checksum()]。

address!

此crate导出一个 address! 宏,可用于创建编译时地址常量。在底层,它使用 const fn 实现,不使用过程宏。

特性

  • 默认 std:与 Rust 标准库类型的额外集成。特别地,这包括 std::error::ErrorParseAddressError 类型上的实现以及从 Vec<u8> 的转换。
  • serde:为 serde 包提供的序列化特质。请注意,该实现非常针对 JSON 序列化,与 serde_json 一起使用。
  • sha3:使用 Rust Crypto Keccak-256 实现(由 sha3 包提供)而不是内置的实现。请注意,address! 宏将始终使用内置的 Keccak-256 实现进行校验和验证,因为 sha3 没有公开 const fn API。

依赖项

~0–445KB