使用检查将数组、切片或向量转换为 base58 编码

Converting an array, slice or vector to base58 encoding WITH check

我正在编写一个代码,使用 check 将 array/slice/vector 转换为 B58 编码的字符串。以下是相关代码摘录:

use bs58;
i = b"Hello"; // or
i = [0,1,2,3]; // or
i = vec![0,1,2,3];
let e = bs58::encode(i).with_check().into_string();

无论我向 bs58::encode() 提供什么类型,它都会错误地指出 方法 with_check() 未找到 。来自 Python,这真的很令人沮丧,因为我不得不花费数小时调试应该可以正常工作的简单内容。

如果您在 API 文档中查看 bs58::encode, you see that it returns a EncodeBuilder

查看相关文档,您会看到有一个 with_check 方法,但附有注释:

This is supported on crate feature check only.

Rust 支持定义可选特性的 crates——这些特性通常有额外的依赖性,并不是在所有情况下都需要,所以它们默认是关闭的。

您可以在 Cargo.toml 文件中启用额外功能,如下所示:

[dependancies]
bs58 = { version="0.4.0", features=["check"] }

另请参阅货运手册的 Features 部分。