【问题标题】:Converting an array, slice or vector to base58 encoding WITH check将数组、切片或向量转换为 base58 编码 WITH 检查
【发布时间】:2021-10-10 00:16:01
【问题描述】:

我正在编写一个代码,它使用 check 将数组/切片/向量转换为 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() 提供什么类型,它都会错误提示 method with_check() not found。来自 Python,这真的很令人沮丧,因为我必须花费数小时调试应该可以工作的简单东西。

【问题讨论】:

    标签: rust base58


    【解决方案1】:

    如果您查看 bs58::encode 的 API 文档,您会看到它返回一个 EncodeBuilder

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

    这仅在 crate 功能检查中受支持。

    Rust 支持 crates 定义可选功能 - 这些功能通常具有并非在所有情况下都需要的额外依赖项,因此默认情况下它们是关闭的。

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

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

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

    【讨论】:

    • 谢谢,成功了! Rust 的学习曲线比我想象的要长得多 :)
    猜你喜欢
    • 2021-09-04
    • 2016-08-01
    • 1970-01-01
    • 2019-05-10
    • 2018-08-06
    • 2019-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多