Skip to Content
dApps

Signieren

Die folgenden Signierbeispiele verwenden connectSuiAccount() aus Erste Schritte. Die Hilfsfunktion gibt ein Wallet-Standard-Konto und dessen aktive Chain zurück. Die Beispiele verwenden @mysten/[email protected]. Auch die älteren *TransactionBlock-Methoden deklarieren nun Transaction-Eingaben in @mysten/[email protected].

Fordern Sie vor dem Signieren eine Berechtigung an, wählen Sie ein verbundenes Konto aus und lesen Sie die aktive Chain. Diese Beispiele verwenden @mysten/[email protected], passend zu @mysten/[email protected], das der aktuelle Provider akzeptiert.

Erfahren Sie, wie Sie Nachrichten zur Authentifizierung signieren.

Initialisieren Sie den Kontokontext vor den folgenden Beispielen:

const { account, chain } = await connectSuiAccount()

Persönliche Nachricht signieren

Beliebige Nachrichten zur Authentifizierung signieren:

const message = new TextEncoder().encode('Hello, Sui!') const result = await provider.signPersonalMessage({ account, chain, message, }) console.log({ signature: result.signature, // Base64 encoded signature bytes: result.bytes, // Signed message bytes })

Nachricht signieren (Legacy)

const message = new TextEncoder().encode('Hello, Sui!') const result = await provider.signMessage({ account, message, }) console.log({ signature: result.signature, messageBytes: result.messageBytes, })

Signatur prüfen

import { verifyPersonalMessageSignature } from '@mysten/sui/verify' const message = new TextEncoder().encode('Hello, Sui!') const { signature } = await provider.signPersonalMessage({ message, account, chain }) const signerKey = await verifyPersonalMessageSignature(message, signature) const isExpectedSigner = signerKey.toSuiAddress() === account.address console.log('Expected signer:', isExpectedSigner)

Fehlerbehandlung

try { await provider.requestPermissions() } catch (error) { if (error.code === 4001) { console.log('User rejected the connection request') } else { console.error('Connection error:', error.message) } }

Häufige Fehlercodes

CodeBeschreibung
4001Nutzer hat die Anfrage abgelehnt
4100Nicht autorisiert
-32603Interner Fehler
Zuletzt aktualisiert am