5个版本
0.2.0 | 2023年3月23日 |
---|---|
0.1.3 | 2022年10月22日 |
0.1.2 | 2022年10月7日 |
0.1.1 | 2022年10月5日 |
0.1.0 | 2022年10月4日 |
#4 in #bitcoin-cash
每月 398 次下载
在crypto-addr中使用
46KB
624 行
概述
一个库crate,提供无依赖(†)、纯Rust实现的cashaddr编码器。允许在哈希和cashaddr字符串之间进行转码。
† 如果没有启用可选crate功能,则此crate无依赖:启用crate功能可能会引入第三方依赖。
功能
- 通用接口,支持所有标准和许多非标准用例
- 非标准哈希类型(类型位)
- 任意可读前缀
- 不区分大小写的解析
- 省略前缀
- 解码器中的全面错误检测
- 方便的方法,用于简洁地表达常见的转换参数
功能标志
默认禁用所有crate功能。以下可选crate功能可以启用,以提供额外功能
convert
启用convert
模块,该模块提供在cashaddr地址和旧版比特币地址之间进行转换的函数。
限制
不支持前向错误纠正。cashaddr编码器中使用的BCH代码在技术上允许前向错误纠正,但使用FEC在比特币现金地址中是危险的,并且强烈不建议。
关于编码器
Cashaddr是一种基于base32的编码方案,用于编码哈希摘要和哈希类型,该类型描述了哈希的使用场景,作为字符串。cashaddr字符串由以下顺序的两个不同部分组成,由冒号(:
)分隔
- 任意用户定义的前缀,有时称为“可读前缀”,其语义由使用cashaddr的应用程序决定
- 一个二进制有效负载,该有效负载作为使用特定字母表的base32字符串进行编码。此有效负载包含以下字段
- 哈希类型:16个值之一,描述了哈希的预期使用场景。请参阅
HashType
- 哈希长度:8个数值之一,描述了哈希的长度。用于验证cashaddr字符串
- 哈希值本身,它是一个由20、24、28、32、40、48、56或64字节组成的任意序列
- 一个40位的校验和,它检查整个cashaddr,包括用户定义的前缀。
- 哈希类型:16个值之一,描述了哈希的预期使用场景。请参阅
与长度字段一起,校验和提供了极其强大的保证,即接收到的cashaddr字符串在传输过程中没有被损坏。
目前,cashaddr的唯一广泛用途是用于编码比特币现金地址,但它的设计特性使其成为通用文本编码器的好选择。
有关详细信息,请参阅cashaddr规范
归属
大部分编解码器算法逻辑基于bitcoincash-addr
。本库旨在通过提供更通用、更直观的用户界面,添加对任意前缀的支持,并仅将范围缩小到与cashaddr编解码器直接相关的事项(从范围中删除了base58check编解码器)来改进bitcoincash-addr
。
依赖关系
~88KB