gpt4 book ai didi

rust - Substrate 运行时模块中支持哪些哈希算法?

转载 作者:行者123 更新时间:2023-11-29 08:31:36 29 4
gpt4 key购买 nike

在构建 Substrate 运行时模块时,我可以使用哪些哈希算法?

我可以导入其他哈希算法以在 Substrate 运行时模块中使用吗?

最佳答案

在撰写本文时,Substrate 在 core/sr-io 中提供了一个 HashingApi 特性提供以下哈希函数的箱子:

export_api! {
pub(crate) trait HashingApi {
/// Conduct a 256-bit Keccak hash.
fn keccak_256(data: &[u8]) -> [u8; 32] ;

/// Conduct a 128-bit Blake2 hash.
fn blake2_128(data: &[u8]) -> [u8; 16];

/// Conduct a 256-bit Blake2 hash.
fn blake2_256(data: &[u8]) -> [u8; 32];

/// Conduct four XX hashes to give a 256-bit result.
fn twox_256(data: &[u8]) -> [u8; 32];

/// Conduct two XX hashes to give a 128-bit result.
fn twox_128(data: &[u8]) -> [u8; 16];

/// Conduct two XX hashes to give a 64-bit result.
fn twox_64(data: &[u8]) -> [u8; 8];
}
}

因为这些函数是为必须构建为 Wasm 的运行时编写的,所以它们必须在不使用标准 Rust 库 (std) 的情况下进行编译。

如果你想在你的 Substrate 运行时引入新的哈希算法或任何新的库,你必须确保它也可以在没有 std 的情况下构建,但除此之外,我相信天空是极限。

关于rust - Substrate 运行时模块中支持哪些哈希算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56341171/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com