bless
This commit is contained in:
parent
5658b4e397
commit
177550d03f
52
node/Cargo.lock
generated
52
node/Cargo.lock
generated
@ -94,6 +94,12 @@ version = "1.0.99"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100"
|
checksum = "b0674a1ddeecb70197781e945de4b3b8ffb61fa939a5597bcf48503737663100"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "arrayvec"
|
||||||
|
version = "0.7.6"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "async-trait"
|
name = "async-trait"
|
||||||
version = "0.1.89"
|
version = "0.1.89"
|
||||||
@ -146,6 +152,22 @@ dependencies = [
|
|||||||
"virtue",
|
"virtue",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitcoin-io"
|
||||||
|
version = "0.1.3"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "0b47c4ab7a93edb0c7198c5535ed9b52b63095f4e9b45279c6736cec4b856baf"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "bitcoin_hashes"
|
||||||
|
version = "0.14.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "bb18c03d0db0247e147a21a6faafd5a7eb851c743db062de72018b6b7e8e4d16"
|
||||||
|
dependencies = [
|
||||||
|
"bitcoin-io",
|
||||||
|
"hex-conservative",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "bitflags"
|
name = "bitflags"
|
||||||
version = "1.3.2"
|
version = "1.3.2"
|
||||||
@ -182,6 +204,7 @@ dependencies = [
|
|||||||
"memory-stats",
|
"memory-stats",
|
||||||
"once_cell",
|
"once_cell",
|
||||||
"ratatui",
|
"ratatui",
|
||||||
|
"secp256k1",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
"sha2",
|
"sha2",
|
||||||
@ -701,6 +724,15 @@ version = "0.4.3"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "hex-conservative"
|
||||||
|
version = "0.2.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "5313b072ce3c597065a808dbf612c4c8e8590bdbf8b579508bf7a762c5eae6cd"
|
||||||
|
dependencies = [
|
||||||
|
"arrayvec",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "http"
|
name = "http"
|
||||||
version = "1.3.1"
|
version = "1.3.1"
|
||||||
@ -1151,6 +1183,26 @@ version = "1.2.0"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "secp256k1"
|
||||||
|
version = "0.31.1"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "2c3c81b43dc2d8877c216a3fccf76677ee1ebccd429566d3e67447290d0c42b2"
|
||||||
|
dependencies = [
|
||||||
|
"bitcoin_hashes",
|
||||||
|
"rand",
|
||||||
|
"secp256k1-sys",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "secp256k1-sys"
|
||||||
|
version = "0.11.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "dcb913707158fadaf0d8702c2db0e857de66eb003ccfdda5924b5f5ac98efb38"
|
||||||
|
dependencies = [
|
||||||
|
"cc",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "serde"
|
name = "serde"
|
||||||
version = "1.0.219"
|
version = "1.0.219"
|
||||||
|
|||||||
@ -27,3 +27,4 @@ textwrap = "0.16.2"
|
|||||||
sled = "0.34.7"
|
sled = "0.34.7"
|
||||||
bincode = { version = "2.0.1", features = ["derive", "serde"] }
|
bincode = { version = "2.0.1", features = ["derive", "serde"] }
|
||||||
futures = "0.3.31"
|
futures = "0.3.31"
|
||||||
|
secp256k1 = { version = "0.31.1", features = ["rand"] }
|
||||||
|
|||||||
@ -1,3 +1,5 @@
|
|||||||
|
use secp256k1::{ rand, Message, Secp256k1 };
|
||||||
|
use sha2::{Digest, Sha256};
|
||||||
pub type Address = String;
|
pub type Address = String;
|
||||||
|
|
||||||
#[derive(Debug, bincode::Decode, bincode::Encode)]
|
#[derive(Debug, bincode::Decode, bincode::Encode)]
|
||||||
@ -5,6 +7,14 @@ pub struct Account {
|
|||||||
address: Address,
|
address: Address,
|
||||||
balance: u64,
|
balance: u64,
|
||||||
nonce: u64,
|
nonce: u64,
|
||||||
|
login_method: LoginMethod,
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, bincode::Decode, bincode::Encode)]
|
||||||
|
pub enum LoginMethod {
|
||||||
|
Password {
|
||||||
|
password_hash: String,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Account {
|
impl Account {
|
||||||
@ -19,4 +29,19 @@ impl Account {
|
|||||||
pub fn address(&self) -> &Address {
|
pub fn address(&self) -> &Address {
|
||||||
&self.address
|
&self.address
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn new() {
|
||||||
|
let secp = Secp256k1::new();
|
||||||
|
let (secret_key, public_key) = secp.generate_keypair(&mut rand::rng());
|
||||||
|
|
||||||
|
let digest = Sha256::digest("Hello World");
|
||||||
|
|
||||||
|
let message = Message::from_digest(digest.into());
|
||||||
|
|
||||||
|
let sig = secp.sign_ecdsa(message, &secret_key);
|
||||||
|
|
||||||
|
let pk_hash = Sha256::digest(secret_key);
|
||||||
|
|
||||||
|
assert!(secp.verify_ecdsa(message, &sig, &public_key).is_ok());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user