Skip to main content
  1. Setoran memindahkan token dari saldo Solana publik pengguna ke saldo privat milik sendiri atau orang lain.
  2. Setoran dikirim dalam satu transaksi Solana ke alamat dompet Solana.

Setoran: Bagian yang Privat

Ring tanpa izin bersifat rahasia, dengan jumlah dan aset yang dienkripsi. Ring khusus dapat dikonfigurasi sebagai rahasia atau anonim (pengirim, penerima, aset, dan jumlah dienkripsi).

Cara Kerja Setoran

Setoran adalah transfer Solana publik yang menghasilkan saldo privat.
  1. Saldo SOL atau SPL pengguna bersifat publik secara on-chain.
  2. Dompet menetapkan jumlah dan penerima, membuat setoran, lalu pemilik menandatanganinya. Setoran tidak meminta bukti ZK.
  3. Runtime Solana memverifikasi tanda tangan dan memanggil Solana Privacy Program.
  4. Aplikasi melacak status melalui hash transaksi Solana.
  1. Saldo SOL atau SPL pengguna bersifat publik secara on-chain.
  2. Dompet membaca status publik, membuat transfer, lalu pemilik menandatanganinya.
  3. Runtime Solana memverifikasi tanda tangan dan memanggil System Program atau Token Program, yang memperbarui saldo publik.
  4. Aplikasi melacak status melalui hash transaksi Solana.
Ini adalah alur transaksi tingkat tinggi untuk Ring rahasia tanpa izin. Bandingkan dengan Ring khusus dalam konsep.

Mulai

1

Prasyarat

Contoh TypeScript memerlukan Node.js 24 atau versi yang lebih baru, pnpm 11.18.0, dan Solana CLI.
Sumber: sdk-libs/ts
Tambahkan kunci API Helius:
.env
Contoh-contoh ini menggunakan dompet CLI Solana sebagai pembayar secara default. Pembayar harus memiliki SOL devnet. Lihat Cara Mendapatkan SOL Devnet.
2

Setor ke Saldo Privat

  • SDK mengembalikan instruksi. Aplikasi menandatangani dan mengirimkannya.
  • sendAndConfirmFactory membuat transaksi Kit, mengirimkannya, lalu mengembalikan tanda tangan beserta slot tempat transaksi tercatat.
  • senderAddress adalah penerima. Contoh ini menyetor ke pengirim. Penerima dapat berupa pengirim atau dompet pihak ketiga.
  • senderViewTag adalah senderAddress.confidentialViewTag(), kunci publik Solana milik pengirim dalam Ring rahasia. Pengindeks menggunakannya untuk mengembalikan output terenkripsi yang cocok.
  • client.tree adalah pohon Merkle status yang menerima komitmen output baru.
  • depositor / senderSigner mendanai dan menandatangani setoran dari publik ke privat.
  • DepositAsset.sol() memilih SOL. DepositAsset.spl menerima mint, akun token sumber, dan program token untuk aset SPL dan Token 2022.
  • recipientOwnerHash adalah senderAddress.ownerHash(). Hash dari kunci publik penandatanganan dan nullifier penerima tersebut adalah kolom pemilik yang dikomit dalam akun token privat baru.
  • DEPOSIT_AMOUNT menggunakan lamport untuk SOL, atau unit dasar token untuk aset SPL dan Token 2022.
  • sendAndConfirm menandatangani dan mengirimkan depositIx sebagai transaksi Solana.
  • Konfirmasi menghasilkan slot tempat transaksi tercatat, yang digunakan untuk membatasi pengambilan data oleh pengindeks.

Contoh Kode Lengkap

Kloning dan jalankan contoh:
Contoh menggunakan Ring rahasia di local/devnet di sini.
deposit_transfer_withdraw.ts

Panduan Terkait

Create a Private Wallet

Transfer

Withdraw

Read a Private Balance

Read Private History

Tidak menemukan yang Anda cari?

Hubungi kami! Telegram | Email | Kontak