- Der Lesevorgang ruft verschlüsselte Transaktionen mit speziellen RPC-Methoden aus dem Indexer ab.
- Nur der Benutzer oder eine von ihm autorisierte Person kann die Historie mit seinem Anzeigeschlüssel entschlüsseln.
- Nutze dies überall dort, wo die Wallet backfills ausführt: beim Entsperren der Wallet, Öffnen der privaten Wallet, Fortsetzen der App, erneuten Herstellen der Netzwerkverbindung, bei einer Lücke im stream oder beim Wiederherstellen der Wallet.
Compare to getSignaturesForAddress
Compare to getSignaturesForAddress
getSignaturesForAddressgibt öffentliche Signaturen zurück.- Der RPC gibt die öffentliche Historie zurück.
Erste Schritte
- TypeScript Client
- Rust Client
1
Voraussetzungen
Für die TypeScript-Beispiele benötigst du Node.js 24 oder höher, pnpm 11.18.0 und die Solana CLI.
Connect to Endpoints
Connect to Endpoints
- Devnet
- Localnet
.env
2
View-Tag ableiten
senderViewTagistsenderAddress.confidentialViewTag(), der öffentliche Solana-Schlüssel des Absenders in vertraulichen Rings. Der Indexer verwendet ihn, um passende verschlüsselte Ausgaben zurückzugeben.
3
Transaktionsausgaben aus dem Indexer abrufen
getShieldedTransactionsByTagsruft die verschlüsselten Ausgaben ab, diesenderViewTagzugeordnet sind.atSlot(depositTx.slot)wartet, bis der Indexer die Einzahlung in diesem slot erfasst hat.- Der Indexer gibt verschlüsselte Ausgabedaten zurück. Er entschlüsselt die private Historie nicht.
4
Private Historie entschlüsseln
LocalShieldedKeys.fromKeypair(sender)stellt die Schlüssel des Absenders für die lokale Entschlüsselung bereit.decryptTransactionsentschlüsselt übereinstimmende Ausgaben und schreibt den Verlauf inWallet.wallet.privateTransactions()liest den entschlüsselten Verlauf.decryptToBalancesgibt nur Guthaben zurück.
Unter Privater Zustand und UTXOs erfährst du, wie Eigentümer-Tags und private Solana-Token-Konten funktionieren.
Vollständiges Codebeispiel
Klone das Beispiel und führe es aus:Die Beispiele verwenden hier einen vertraulichen Ring auf local/devnet.