Auf dieser Seite
personal_sign
Signiert eine Nachricht mit dem angegebenen Konto. Der Nachricht wird vor dem Signieren "\x19Ethereum Signed Message:\n" vorangestellt, um Nachrichtensignaturen vom Signieren roher Transaktionen zu trennen.
Parameter
| Index | Typ | Beschreibung |
|---|---|---|
| 0 | string | Zu signierende Nachricht (hexkodiert) |
| 1 | string | Zum Signieren zu verwendende Adresse |
Rückgabe
string - Die Signatur (Hex-Zeichenfolge mit 65 Bytes)
Beispiel
const message = 'Hello, OneKey!'
const hexMessage = '0x' + Array.from(new TextEncoder().encode(message), byte => byte.toString(16).padStart(2, '0')).join('')
const signature = await window.$onekey.ethereum.request({
method: 'personal_sign',
params: [hexMessage, accounts[0]]
})
console.log('Signature:', signature)Mit ethers.js verwenden
import { hashMessage, recoverAddress } from 'ethers'
const message = 'Hello, OneKey!'
const hexMessage = '0x' + Array.from(new TextEncoder().encode(message), byte => byte.toString(16).padStart(2, '0')).join('')
const signature = await window.$onekey.ethereum.request({
method: 'personal_sign',
params: [hexMessage, accounts[0]]
})
// Verify signature
const recoveredAddress = recoverAddress(hashMessage(message), signature)
console.log('Verified:', recoveredAddress.toLowerCase() === accounts[0].toLowerCase())Fehler
| Code | Nachricht | Beschreibung |
|---|---|---|
| 4001 | Nutzer hat die Anfrage abgelehnt | Nutzer hat die Signaturanfrage abgelehnt |
| -32602 | Ungültige Parameter | Ungültige Nachricht oder Adresse |
Hinweise
- Die Nachricht muss hexkodiert sein und das
0x-Präfix haben - Die tatsächlich signierte Nachricht lautet:
"\x19Ethereum Signed Message:\n" + len(message) + message - Zum Signieren typisierter Daten verwenden Sie eth_signTypedData_v4 stattdessen
- Spezifiziert durch EIP-191
Prüfen Sie zur Authentifizierung die vorgesehene Domain, das Konto, die Ablaufzeit und eine nur einmal verwendbare Server-Challenge. Eine gültige Signatur einer festen Beispielnachricht ist kein vollständiger Anmeldeablauf.
Zuletzt aktualisiert am