【发布时间】:2019-05-11 03:02:21
【问题描述】:
我正在尝试使用 secp256k1 库生成密钥对。
在官方文档中我找到了这段代码:
use rand::OsRng;
use secp256k1::{Secp256k1, Message};
let secp = Secp256k1::new();
let mut rng = OsRng::new().expect("OsRng");
let (secret_key, public_key) = secp.generate_keypair(&mut rng);
我把它放在我的Cargo.toml:
[dependencies]
rand = "0.6.1"
[dependencies.secp256k1]
features = ["rand"]
version = "0.12.0"
但是,我得到这个编译错误:
| secp.generate_keypair(&mut rng);
| ^^^^^^^^^^^^^^^^ the trait `secp256k1::rand::Rng` is not implemented for
`std::result::Result<rand::rngs::OsRng, rand::Error>`
我对 Rust 很陌生,我正在努力理解它,但我发现它非常困难。请解释我的错误是什么。谢谢!
【问题讨论】:
-
我已经复制了您的代码并得到了另一个错误:“在当前范围内找不到类型
secp256k1::Secp256k1<secp256k1::All>的名为generate_keypair的方法”。请提供minimal reproducible example,包括 crate 版本,这样可以得到同样的错误。