Skip to main content
Un portefeuille privé se compose d’une paire de clés Solana pour la signature, d’une clé de nullification et d’une clé de visualisation pour le chiffrement – ensemble, ces clés forment la paire de clés protégée. Votre gestion des clés détient la paire de clés protégée. Le code du portefeuille utilise l’Interface de Confidentialité et le SDK pour construire des transactions privées. Gestion des clés et le SDK Privacy se connectent via l'Interface de Confidentialité. Le SDK Privacy appelle l'API Privacy. L'API Privacy soumet la transaction à Solana. L’intégration permet à vos utilisateurs de :
  1. Créer un portefeuille privé auto-custodial
  2. Recevoir des transferts privés avec une adresse Solana
  3. Déposer des jetons sur un solde privé
  4. Envoyer en privé à une adresse Solana
  5. Retirer vers n’importe quelle adresse Solana
  6. Décrypter les soldes privés et l’historique des transactions localement
L’intégration inclut :
  1. Paire de clés protégée – dans votre gestion des clés pour le chiffrement
  2. Interface de Confidentialité et SDK – pour construire des transactions privées
  3. Flux Utilisateurs – pour intégrer dans votre portefeuille

Contexte pour votre IA

Add a Private Wallet to an existing Solana wallet

Ouvrir dans Cursor
1

Intégrer la Paire de Clés Protégée

Une intégration de portefeuille privé ajoute une paire de clés protégée à votre gestion des clés. Une paire de clés protégée signe, chiffre et déchiffre des transactions.La paire de clés protégée est un ensemble des clés de signature, de nullification et de visualisation.
  • Clé de signature : La paire de clés Ed25519 Solana du portefeuille pour signer des transactions.
  • Clé de visualisation : Une paire de clés P-256, utilisée pour chiffrer et déchiffrer des transactions.
  • Clé de nullification :
Un portefeuille peut créer la paire de clés protégée de deux manières :
  1. Pour les portefeuilles basés sur une graine, choisissez Dériver à partir de la phrase de récupération.
  2. Pour les portefeuilles non basés sur une graine, choisissez Dériver à partir de la signature EdDSA.
Un portefeuille basé sur une graine dérive la paire de clés protégée à partir d’un mnémonique BIP-39 et d’un index de compte (0, 1, …).Chaque index de compte associe une paire de clés Solana à une paire de clés protégée. Vous pouvez récupérer la paire de clés protégée de la même manière que vous récupérez la paire de clés Solana.Par exemple :
  • Compte 0 : paire de clés Solana 0 et paire de clés protégée 0
  • Compte 1 : paire de clés Solana 1 et paire de clés protégée 1
La clé de signature protégée est la clé Ed25519 Solana de ce compte. Les clés de nullification et de visualisation sont des clés supplémentaires dérivées de la même graine.
Implémentation Exemple: Exemple TypeScript · Exemple Rust
2

Intégrer l’Interface de Confidentialité et le SDK

L’Interface de Confidentialité permet à votre code d’utiliser le SDK Privacy pour construire des transactions privées sans accéder directement au matériel des clés. Votre gestion des clés implémente l’Interface de Confidentialité en deux parties.
  1. Interface de Signature pour la Construction de Transactions avec le SDK Privacy. Voir Source: TypeScript/ Rust
  2. Interface de Chiffrement & Déchiffrement. Voir Source: TypeScript/ Rust
L’Interface de Confidentialité est sans état et ne stocke donc pas les soldes ou l’historique des transactions. Pour la performance, nous recommandons de mettre en cache les soldes et l’historique des transactions des utilisateurs localement.

Sur la Génération de Preuves

La génération de preuves à connaissance nulle nécessite des entrées en texte clair des données complètes de la transaction de l’utilisateur et des clés de nullification.Actuellement, la génération de preuves par le serveur est disponible via l’URL standard de Helius RPC.La génération de preuves locales sera bientôt disponible. La génération de preuves sur serveur entièrement cryptée de bout en bout sur AWS Nitro est prévue avant le lancement sur le réseau principal.
3

Intégrer les Flux Utilisateurs

Créer un Portefeuille Privé

Un portefeuille privé est créé en deux étapes :
  1. Dériver la paire de clés protégée
  2. Enregistrer l’adresse Solana dans le registre sur chaîne.
Le registre lie la clé publique de signature aux clés publiques de nullification et de visualisation – ensemble, ces clés publiques forment l’adresse protégée.
Chaque enregistrement de registre est un PDA détenu par le , que tout le monde peut consulter pour voir si une adresse Solana peut recevoir des transferts privés.

Synchroniser le Solde Privé & l’Historique des Transactions

La synchronisation des soldes récupère l’état chiffré du RPC et le déchiffre dans le portefeuille.Le RPC ne déchiffre pas. Seul le propriétaire peut déchiffrer un solde privé avec une clé de visualisation.
Un portefeuille devrait déchiffrer et mettre à jour les soldes avant les transactions privées et partout où il exécute des remplissages : lors du déverrouillage du portefeuille, de l’ouverture du portefeuille privé, de la reprise de l’application, de la reconnexion au réseau, de l’écart de flux, ou de la restauration du portefeuille.

Lire un Solde Privé

Lire l'Historique des Transactions Privées

Dépôt sur un Solde Privé

Les utilisateurs peuvent déposer sur un solde privé de deux façons :
  1. Passerelle d’entrée depuis un solde fiat vers un solde crypto privé
  2. Dépôt depuis un compte SPL public vers un solde privé
La passerelle et le dépôt diffèrent dans leurs garanties de confidentialité. Nous recommandons d’utiliser la passerelle plutôt que le dépôt pour une meilleure confidentialité.

Rampe d'accès/de sortie

Rampe d’accès/de sortie en fiat directement vers et depuis un solde privé.

Dépôt

Dépôt depuis un solde crypto public.

Transferts Privés

Les utilisateurs peuvent envoyer des transferts privés à n’importe quelle adresse de portefeuille Solana.Pour chaque transfert privé, le SDK Privacy recherche l’adresse du portefeuille dans le registre sur chaîne pour vérifier si le destinataire possède un portefeuille privé.Le SDK Privacy peut résoudre un transfert privé en un retrait privé-vers-public, lorsque le destinataire ne possède pas de portefeuille privé.
Nous recommandons de marquer la transaction dans l’interface utilisateur comme un retrait pour assurer que l’utilisateur ne retire pas par accident vers un solde public.

Transfert Privé

Transfert privé vers un solde privé.

Retirer vers un Solde Public

Les retraits peuvent être utilisés de deux façons :
  1. En tant que solution de repli pour des transferts privés vers des destinataires qui n’ont pas de portefeuille privé, ou
  2. Retrait direct vers un compte de jeton SPL public.
Pour les retraits, nous recommandons de bien indiquer que l’utilisateur quitte le solde privé, similaire à une phrase de récupération ou une exportation de clé privée.

Retrait

Retirer vers un solde crypto public.

Didn’t find what you were looking for?

Reach out! Telegram | E-Mail | Contact