Example: sign_message
Example
To run this example:
- Clone the examples repository:
git clone git@github.com:alloy-rs/examples.git
- Run:
cargo run --example sign_message
//! Example of signing a message with a signer.
use alloy::signers::{local::PrivateKeySigner, Signer};
use eyre::Result;
#[tokio::main]
async fn main() -> Result<()> {
// Set up a random signer.
let signer = PrivateKeySigner::random();
// Optionally, the wallet's chain id can be set, in order to use EIP-155
// replay protection with different chains.
let signer = signer.with_chain_id(Some(1337));
// The message to sign.
let message = b"hello";
// Sign the message asynchronously with the signer.
let signature = signer.sign_message(message).await?;
println!("Signature produced by {}: {:?}", signer.address(), signature);
println!("Signature recovered address: {}", signature.recover_address_from_msg(&message[..])?);
Ok(())
}
Find the source code on Github here.