提问人:Muhammad Waleed 提问时间:6/25/2023 更新时间:7/16/2023 访问量:478
使用 ether.rs 将私钥转换为字符串
Convert private key to string using ether.rs
问:
我是 rust 的新手,目前正在探索库。我想在控制台上打印钱包的私钥,首先我正在构建一个助记词。ethers.rs
let mnemonic = Mnemonic::<English>::new(&mut rand::thread_rng());
现在使用这个助记符,我想提取私钥。我知道一个助记词可以有多个私钥,但我想提取第一个私钥。为此,我做了这样的事情。
let key = mnemonic.derive_key("m/44'/60'/0'/0/0", None).unwrap()
这给了我类型的输出。我无法理解我如何使用这种类型,因为它不包含任何以字符串形式为我提供私钥的函数,因此我可以将其打印到控制台。任何帮助将不胜感激。XPriv
这是我的全部功能
async fn test() {
let mnemonic = Mnemonic::<English>::new(&mut rand::thread_rng());
println!("mnemonic: {}", mnemonic.to_phrase());
let key = mnemonic
.derive_key("m/44'/60'/0'/0/0", None)
.expect("Failed to derive pkey");
}
这是我的cargo.toml
name = "rust-basics"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
ethers="2.0.7"
tokio = { version = "1", features = ["full"] }
bip39 = "2.0"
rand = "0.8"
dialoguer = "0.10.4"
serde = "1.0.164"
serde_json = "1.0.97"
password-hash = "0.5.0"
bcrypt = "0.14.0"
答:
1赞
ligulfzhou
7/16/2023
#1
我没有找到,但有:https://github.com/gakonst/ethers-rs/blob/master/examples/wallets/examples/mnemonic.rsMnemonic
MnemonicBuilder
获取 后,可以使用以下代码获取私钥。wallet
let private_key = wallet
.signer()
.to_bytes()
.iter()
.map(|&i|format!("{:X}", i))
.collect::<Vec<String>>()
.join("");
希望它有所帮助。
评论
0赞
ligulfzhou
7/17/2023
@muhammad-waleed请试一试。
0赞
Muhammad Waleed
7/25/2023
这就像一个魅力。谢谢。你能解释一下代码吗?
评论