Zum Inhalt springen
ecdsa.com

personal_sign

Die Wallet-Methode von Ethereum in JSON-RPC, die eine Nachricht mit dem Präfix nach EIP-191, Version 0x45, signiert und eine 65-Byte-Signatur r‖s‖v zurückgibt; der Standardweg für die Anmeldung und das einfache Signieren von Nachrichten.
Auch geschrieben alspersonal_signeth_sign

Aufrufform: personal_sign mit den Parametern [message, address], wobei die Nachricht aus hexkodierten Bytes besteht (die meisten Wallets akzeptieren auch UTF-8-Text). Bibliotheken bilden das nach: ethers signer.signMessage, viem signMessage, web3.py encode_defunct. Das ältere eth_sign signierte einen beliebigen 32-Byte-Hash ohne Präfix, sodass Dapps Nutzer dazu verleiten konnten, Transaktionen zu signieren; die meisten Wallets deaktivieren es oder warnen davor.

Zur Prüfung berechnet der Verifizierer den Keccak-256-Hash mit Präfix neu und stellt daraus die Adresse wieder her; bei Smart Wallets ruft er stattdessen ERC-1271 isValidSignature auf (für noch nicht bereitgestellte Konten in ERC-6492 verpackt). Nachrichten von Sign-In with Ethereum werden auf diese Weise signiert.

Standards und Quellen

Alle Begriffe