- Erstellen Sie ein selbstverwaltetes privates Wallet
- Empfangen Sie private Überweisungen mit einer Solana-Adresse
- Hinterlegen Sie Token in einem privaten Guthaben
- Senden Sie privat an eine Solana-Adresse
- Abheben an jede Solana-Adresse
- Entschlüsseln Sie private Guthaben und Transaktionshistorie lokal
- Geschütztes Schlüsselpaar – in Ihrem Schlüsselmanagement zur Verschlüsselung
- Privacy Interface und SDK – um private Transaktionen zu erstellen
- Benutzerabläufe – zur Integration in Ihr Wallet
Kontext für Ihr KI
Add a Private Wallet to an existing Solana wallet
View prompt
View prompt
1
Integrieren Sie das geschützte Schlüsselpaar
Eine Integration privater Wallets fügt Ihrem Schlüsselmanagement ein geschütztes Schlüsselpaar hinzu. Ein geschütztes Schlüsselpaar signiert, verschlüsselt und entschlüsselt Transaktionen.Das geschützte Schlüsselpaar ist ein Bündel aus den Signatur-, Nullifier- und Anzeigeschlüsseln.- Signaturschlüssel: Das Ed25519 Solana-Schlüsselpaar der Wallet zum Signieren von Transaktionen.
- Anzeigeschlüssel: Ein P-256 Schlüsselpaar, das zum Verschlüsseln und Entschlüsseln von Transaktionen verwendet wird.
- Nullifier-Schlüssel:
- Für seed-basierte Wallets wählen Sie Ableiten aus Seed-Phrase.
- Für nicht seed-basierte Wallets wählen Sie Ableiten aus EdDSA-Signatur.
- Ableiten aus Seed-Phrase
- Ableiten aus EdDSA-Signatur
Eine Seed-basierte Wallet leitet das geschützte Schlüsselpaar aus einem BIP-39 Mnemonic und einem Kontoindex ab (
0, 1, …).Jeder Kontoindex ordnet ein Solana-Schlüsselpaar einem geschützten Schlüsselpaar zu.
Sie können das geschützte Schlüsselpaar auf die gleiche Weise wiederherstellen, wie Sie das Solana-Schlüsselpaar wiederherstellen.Zum Beispiel:- Konto 0: Solana-Schlüsselpaar 0 und geschütztes Schlüsselpaar 0
- Konto 1: Solana-Schlüsselpaar 1 und geschütztes Schlüsselpaar 1
Der geschützte Signaturschlüssel ist das Solana Ed25519-Schlüssel des Kontos.
Die Nullifier- und Anzeigeschlüssel sind zusätzliche Schlüssel, die aus demselben Seed abgeleitet werden.
Beispielimplementierung: TypeScript-Beispiel · Rust-Beispiel
2
Integrieren Sie die Privacy Interface und SDK
Die Privacy Interface ermöglicht es Ihrem Code, das Privacy SDK zu verwenden, um private Transaktionen zu erstellen, ohne direkt auf das Schlüsselmater zuzugreifen. Ihr Schlüsselmanagement implementiert die Privacy Interface in zwei Teilen.- Signing Interface zum Erstellen von Transaktionen mit dem Privacy SDK. Quellansicht: TypeScript/ Rust
- Verschlüsselungs- & Entschlüsselungsinterface. Quellansicht: TypeScript/ Rust
Die Privacy Interface ist zustandslos und speichert daher keine Guthaben oder Transaktionshistorie.
Zur Leistungssteigerung empfehlen wir, Benutzerkonten und Transaktionshistorie lokal zwischenspeichern.
Zur Beweiserzeugung
Die Erzeugung von Zero-Knowledge-Beweisen erfordert Klartext-Eingaben der vollständigen Benutzertransaktionsdaten und Nullifierschlüssel.Derzeit ist die serverseitige Beweiserzeugung über die Standard-Helius-RPC-URL verfügbar.Lokale Beweiserzeugung kommt bald. Ende-zu-Ende-verschlüsselte Server-Beweiserzeugung auf AWS Nitro ist vor dem Start des Mainnets geplant.3
Integrieren Sie Benutzerabläufe
Erstellen Sie ein privates Wallet
Ein privates Wallet wird in zwei Schritten erstellt:- Ableiten des geschützten Schlüsselpaares
- Registrieren der Solana-Adresse im On-Chain-Register.
Jeder Registereintrag ist ein PDA, das vom verwaltet wird, das jeder einsehen kann, um zu überprüfen, ob eine Solana-Adresse private Überweisungen empfangen kann.
Synchronisieren Sie privates Guthaben & Transaktionshistorie
Die Guthabensynchronisierung ruft verschlüsselten Status vom RPC ab und entschlüsselt ihn im Wallet.Das RPC entschlüsselt nicht. Nur der Besitzer kann ein privates Guthaben mit einem Anzeigeschlüssel entschlüsseln.Eine Wallet sollte Guthaben entschlüsseln und aktualisieren, bevor private Transaktionen erfolgen und wann immer es Backfills ausführt: Beim Entsperren der Wallet, Öffnen der privaten Wallet, App-Wiederaufnahme, Netzwerk-Wiederverbindung, Stream-Lücken oder Wallet-Wiederherstellung.
Lesen Sie ein privates Guthaben
Lesen Sie private Transaktionshistorie
Einzahlung auf ein privates Guthaben
Nutzer können auf zwei Arten auf ein privates Guthaben einzahlen:- Aufladen von einem Fiat-Guthaben zu einem privaten Kryptoguthaben
- Einzahlung von einem öffentlichen SPL-Konto zu einem privaten Guthaben
Auf-/Ab-Rampe
Auf-/Ab-Rampe Fiat direkt zu und von einem privaten Guthaben.
Einzahlung
Einzahlung von einem öffentlichen Kryptoguthaben.
Private Überweisungen
Benutzer können private Überweisungen an jede Solana-Wallet-Adresse senden.Für jede private Überweisung überprüft das Privacy SDK die Wallet-Adresse im On-Chain-Register, um festzustellen, ob der Empfänger ein privates Wallet hat.Das Privacy SDK kann eine private Überweisung zu einer Auszahlung von privat zu öffentlich auflösen, wenn der Empfänger kein privates Wallet hat.Wir empfehlen, die Transaktion in der Benutzeroberfläche als Auszahlung zu kennzeichnen, um sicherzustellen, dass der Benutzer nicht versehentlich auf ein öffentliches Guthaben auszahlt.
Private Überweisung
Überweisen Sie privat auf ein privates Guthaben.
Abheben auf ein öffentliches Guthaben
Abhebungen können auf zwei Arten verwendet werden:- Als Rückfall für private Überweisungen an Empfänger, die kein privates Wallet haben, oder
- Direkte Abhebung auf ein öffentliches SPL-Token-Konto.
Abheben
Abheben auf ein öffentliches Kryptoguthaben.