blockchain//wallet//signing
Signing is the cryptographic operation by which a wallet approves an action with its private key, and it is how a user authorizes what a DApp asks for. Metamask receives signing requests from DApps, shows them to the user and signs with the local private key. Every wallet signature is an ECDSA signature: the private key produces it, and anyone holding the public key can verify it.
Signing is the cryptographic operation by which a wallet approves an action with its private key, and it is how a user authorizes what a DApp asks for. Metamask receives signing requests from DApps, shows them to the user and signs with the local private key. Every wallet signature is an ECDSA signature: the private key produces it, and anyone holding the public key can verify it.
personal_sign signs arbitrary data for off-chain authentication, and no transaction is created.
eth_sendTransaction has Metamask sign the transaction and send it to the RPC node, which is the standard DApp flow.
In the Admin Faucet pattern the backend signs with a server-side key (from .env), which solves the chicken-and-egg funding problem.
EIP-712 structured data signing includes the contract address in the domain hash, which prevents cross-contract replay.