MCPcopy Create free account
hub / github.com/ddimaria/rust-blockchain-tutorial / verify

Function verify

utils/src/crypto.rs:189–195  ·  view source on GitHub ↗

Verify that a message was signed using a public key ```rust use utils::crypto::{keypair, sign, sign_recovery, verify}; let (private_key, public_key) = keypair(); let message = b"The message"; let signature = sign(message, &private_key).unwrap(); let serialized_signature = signature.serialize_compact(); let verified = verify(message, &serialized_signature, &public_key).unwrap(); assert!(verified

(message: &[u8], signature: &[u8], key: &PublicKey)

Source from the content-addressed store, hash-verified

187/// assert!(verified);
188/// ```
189pub fn verify(message: &[u8], signature: &[u8], key: &PublicKey) -> Result<bool> {
190 let message = hash_message(message)?;
191 let signature = EcdsaSignature::from_compact(signature)
192 .map_err(|e| UtilsError::VerifyError(e.to_string()))?;
193
194 Ok(CONTEXT.verify_ecdsa(&message, &signature, key).is_ok())
195}
196
197/// Recover a public key using a recoverable signature and signed message
198///

Callers 4

verifyMethod · 0.85
it_verifiesFunction · 0.85
send_raw_transactionMethod · 0.85

Calls 1

hash_messageFunction · 0.85

Tested by 2

it_verifiesFunction · 0.68