4个版本 (破坏性)
0.4.0 | 2024年6月20日 |
---|---|
0.3.0 | 2024年5月17日 |
0.2.0 | 2024年3月1日 |
0.1.0 | 2024年2月16日 |
#480 in 加密学
220 每月下载
用于 3 crates
29KB
436 代码行
SLIP-10:确定性密钥生成
SLIP10 是一个实现HD钱包的规范。它旨在支持许多曲线,同时与 BIP32 兼容。
实现基于提供通用椭圆曲线算术的 generic-ec 库。该crate支持无std和无分配。
曲线支持
当前实现不支持ed25519曲线。所有其他曲线都受支持:包括secp256k1和secp256r1。实际上,实现可能与任何曲线一起工作,但只有那些被SLIP10规范所覆盖。
该crate还重新导出支持的曲线在supported_curves模块中(需要启用功能),但任何其他曲线实现都将与该crate一起工作。
功能
std
:启用std库支持(主要,它只是为错误类型实现Error
trait)curve-secp256k1
和curve-secp256r1
将曲线实现添加到crate支持的_curves模块中
示例
从种子派生主密钥,然后派生子密钥m/1H/10
use slip_10::supported_curves::Secp256k1;
let seed = b"16-64 bytes of high entropy".as_slice();
let master_key = slip_10::derive_master_key::<Secp256k1>(seed)?;
let master_key_pair = slip_10::ExtendedKeyPair::from(master_key);
let child_key_pair = slip_10::derive_child_key_pair_with_path(
&master_key_pair,
[1 + slip_10::H, 10],
);
依赖项
~1.6–2.8MB
~53K SLoC