0

我正在尝试使用此板条箱生成以太坊地址:https ://docs.rs/ethkey/0.2.5/ethkey/

use ethkey::prelude::*;

fn main() {
    let key = EthAccount::load_or_generate("~/", "passwd")
        .expect("should load or generate new eth key");

    println!("{:?}", key.address())
}

这是文档中的示例,它似乎不起作用。我收到以下错误:

cargo run 编译 ethkey v0.1.0 (/Users/samueldare/Documents/Code/Thor/ethkey) 在 1.34 秒内完成 dev [unoptimized + debuginfo] 目标 运行target/debug/ethkey线程“main”在“应该加载或生成新的 eth 密钥”时出现恐慌:错误(IoError(Os {代码:2,种类:NotFound,消息:“没有这样的文件或目录”}),状态{next_error:无,回溯:InternalBacktrace {回溯:无}})',src/libcore/result .rs:999:5 注意:使用RUST_BACKTRACE=1 环境变量运行以显示回溯。

~/最后一次尝试在 rust 中生成密钥文件,但它似乎仍然不起作用。

我将不胜感激任何指示

4

1 回答 1

1

的第一个参数load_or_generate()采用没有右斜杠('/')的std::path::Path 。删除斜线:

fn main() {
    let key = EthAccount::load_or_generate("~", "passwd")
        .expect("should load or generate new eth key");

    println!("{:?}", key.address())
}

样本输出:

05:47 ethtest (master) ✗ cargo run
    Finished dev [unoptimized + debuginfo] target(s) in 0.04s
     Running `target/debug/ethtest`
Address(0x8248af6d1765e559509060b88e540a3567c42d20)
05:47 ethtest (master) ✗ 
于 2019-07-25T11:51:29.310 回答