Aller au contenu
ecdsa.com

personal_sign

La méthode JSON-RPC des portefeuilles Ethereum qui signe un message avec le préfixe EIP-191 version 0x45 et renvoie une signature r‖s‖v de 65 octets ; c’est la méthode par défaut pour la connexion et la signature de messages simples.
Autres graphiespersonal_signeth_sign

Forme de l’appel : personal_sign avec les paramètres [message, address], où le message est constitué d’octets encodés en hexadécimal (la plupart des portefeuilles acceptent aussi du texte UTF-8). Les bibliothèques reprennent cette forme : signer.signMessage d’ethers, signMessage de viem, encode_defunct de web3.py. L’ancienne méthode eth_sign signait un condensat arbitraire de 32 octets sans préfixe, ce qui permettait à des dapps de piéger les utilisateurs pour leur faire signer des transactions ; la plupart des portefeuilles la désactivent ou affichent un avertissement.

La vérification recalcule le condensat Keccak-256 préfixé et récupère l’adresse, ou, pour les portefeuilles de contrat intelligent, appelle isValidSignature d’ERC-1271 (enveloppé dans ERC-6492 pour les comptes pas encore déployés). Les messages Sign-In with Ethereum sont signés de cette façon.

Normes et références

Tous les termes