- Membuat dompet privat dengan kustodi mandiri
- Menerima transfer privat melalui alamat Solana
- Menyetorkan token ke saldo privat
- Mengirim secara privat ke alamat Solana
- Menarik dana ke alamat Solana mana pun
- Mendekripsi saldo privat dan riwayat transaksi secara lokal
- Pasangan Kunci Terlindungi – dalam sistem pengelolaan kunci Anda untuk enkripsi
- Privacy Interface dan SDK – untuk membuat transaksi privat
- Alur Pengguna – untuk diintegrasikan ke dompet Anda
Konteks untuk AI Anda
Add a Private Wallet to an existing Solana wallet
View prompt
View prompt
1
Integrasikan Pasangan Kunci Terlindungi
Integrasi dompet privat menambahkan pasangan kunci terlindungi ke sistem pengelolaan kunci Anda. Pasangan kunci terlindungi menandatangani, mengenkripsi, dan mendekripsi transaksi.Pasangan kunci terlindungi merupakan kumpulan kunci penandatanganan, nullifier, dan penampil.- Kunci penandatanganan: Pasangan kunci Ed25519 Solana milik dompet untuk menandatangani transaksi.
- Kunci penampil: Pasangan kunci P-256 yang digunakan untuk mengenkripsi dan mendekripsi transaksi.
- Kunci nullifier:
- Untuk dompet berbasis seed, pilih Turunkan dari frasa seed.
- Untuk dompet yang tidak berbasis seed, pilih Turunkan dari tanda tangan EdDSA.
- Derive from seed phrase
- Derive from EdDSA signature
Dompet berbasis seed menurunkan pasangan kunci terlindungi dari satu mnemonik BIP-39 dan indeks akun (
0, 1, …).Setiap indeks akun memetakan satu pasangan kunci Solana ke satu pasangan kunci terlindungi.
Anda dapat memulihkan pasangan kunci terlindungi dengan cara yang sama seperti memulihkan pasangan kunci Solana.Contoh:- Akun 0: pasangan kunci Solana 0 dan pasangan kunci terlindungi 0
- Akun 1: pasangan kunci Solana 1 dan pasangan kunci terlindungi 1
Kunci penandatanganan terlindungi adalah kunci Ed25519 Solana milik akun tersebut.
Kunci nullifier dan penampil adalah kunci tambahan yang diturunkan dari seed yang sama.
Contoh Implementasi: Contoh TypeScript · Contoh Rust
2
Integrasikan Privacy Interface dan SDK
Privacy Interface memungkinkan kode Anda menggunakan Privacy SDK untuk membuat transaksi privat tanpa mengakses materi kunci secara langsung. Sistem pengelolaan kunci Anda mengimplementasikan Privacy Interface dalam dua bagian.- Antarmuka Penandatanganan untuk Pembuatan Transaksi dengan Privacy SDK. Lihat Sumber: TypeScript/ Rust
- Antarmuka Enkripsi & Dekripsi. Lihat Sumber: TypeScript/ Rust
Privacy Interface bersifat stateless sehingga tidak menyimpan saldo atau riwayat transaksi.
Untuk meningkatkan performa, sebaiknya simpan saldo pengguna dan riwayat transaksi dalam cache lokal.
Tentang Pembuatan Bukti
Pembuatan bukti zero-knowledge memerlukan input plaintext dari seluruh data transaksi pengguna dan kunci nullifier.Saat ini, pembuatan bukti di server tersedia melalui URL RPC Helius standar.Pembuatan bukti secara lokal akan segera tersedia. Pembuatan bukti server terenkripsi secara menyeluruh di AWS Nitro direncanakan sebelum peluncuran mainnet.3
Integrasikan Alur Pengguna
Buat Dompet Privat
Dompet privat dibuat dalam dua langkah:- Turunkan pasangan kunci terlindungi
- Daftarkan alamat Solana dalam registri on-chain.
Setiap catatan registri merupakan PDA yang dimiliki oleh , yang dapat diperiksa siapa pun untuk mengetahui apakah suatu alamat Solana dapat menerima transfer privat.
- TypeScript Client
- Rust Client
owneradalah alamat Solana pengguna, yang digunakan untuk menurunkan PDA registri.addressadalah Alamat Terlindungi pengguna.buildRegistrationTransactionmengembalikan transaksi pendaftaran atau pembaruan kunci yang telah dikompilasi. Fungsi ini mengembalikanundefinedjika dompet sudah terdaftar.sendTransactionmenandatangani dan mengirim transaksi.isWalletRegisteredmembaca PDA registri untuk memeriksa pendaftaran.
Contoh pendaftaran lengkap: TypeScript · Rust
Sinkronkan Saldo Privat & Riwayat Transaksi
Sinkronisasi saldo mengambil status terenkripsi dari RPC dan mendekripsinya di dompet.RPC tidak melakukan dekripsi. Hanya pemilik yang dapat mendekripsi saldo privat menggunakan kunci penampil.Dompet harus mendekripsi dan memperbarui saldo sebelum transaksi privat serta setiap kali menjalankan backfill: saat dompet dibuka kuncinya, dompet privat dibuka, aplikasi dilanjutkan, jaringan tersambung kembali, terjadi celah stream, atau dompet dipulihkan.
Read a Private Balance
Read Private Transaction History
Setorkan ke Saldo Privat
Pengguna dapat menyetorkan dana ke saldo privat dengan dua cara:- Melakukan on-ramp dari saldo fiat ke saldo kripto privat
- Menyetorkan dari akun SPL publik ke saldo privat
On-/Off-Ramp
Lakukan on-/off-ramp fiat secara langsung ke dan dari saldo privat.
Deposit
Setorkan dari saldo kripto publik.
Transfer Privat
Pengguna dapat mengirim transfer privat ke alamat dompet Solana mana pun.Untuk setiap transfer privat, Privacy SDK mencari alamat dompet dalam registri on-chain guna memeriksa apakah penerima memiliki dompet privat.Privacy SDK dapat mengubah transfer privat menjadi penarikan dari privat ke publik ketika penerima tidak memiliki Dompet Privat.Sebaiknya beri label transaksi sebagai penarikan di UI agar pengguna tidak secara tidak sengaja menarik dana ke saldo publik.
Private Transfer
Transfer secara privat ke saldo privat.
Tarik ke Saldo Publik
Penarikan dapat digunakan dengan dua cara:- Sebagai opsi cadangan untuk transfer privat kepada penerima yang tidak memiliki dompet privat, atau
- Penarikan langsung ke akun token SPL publik.
Withdraw
Tarik ke saldo kripto publik.