- Tạo ví riêng tư tự lưu ký
- Nhận các giao dịch chuyển riêng tư bằng địa chỉ Solana
- Nạp token vào số dư riêng tư
- Gửi riêng tư đến một địa chỉ Solana
- Rút về bất kỳ địa chỉ Solana nào
- Giải mã cục bộ số dư riêng tư và lịch sử giao dịch
- Cặp khóa được che chắn – trong hệ thống quản lý khóa của bạn để mã hóa
- Privacy Interface và SDK – để tạo các giao dịch riêng tư
- Luồng người dùng – để tích hợp vào ví của bạn
Ngữ cảnh cho AI của bạn
Add a Private Wallet to an existing Solana wallet
View prompt
View prompt
1
Tích hợp cặp khóa được che chắn
Việc tích hợp ví riêng tư sẽ thêm một cặp khóa được che chắn vào hệ thống quản lý khóa của bạn. Cặp khóa được che chắn dùng để ký, mã hóa và giải mã giao dịch.Cặp khóa được che chắn là một gói gồm khóa ký, khóa nullifier và khóa xem.- Khóa ký: Cặp khóa Ed25519 Solana của ví dùng để ký giao dịch.
- Khóa xem: Một cặp khóa X25519 dùng để mã hóa và giải mã giao dịch.
- Khóa nullifier:
"TSPP/derive/v1", được mã hóa dưới dạng thông điệp ngoài chuỗi Solana v0.Khóa ký được che chắn là khóa EdDSA Solana của ví.
Khóa nullifier và khóa xem là các khóa bổ sung được suy ra từ chữ ký.Mã giả để suy ra một cặp khóa được che chắn từ chữ ký Solana:Ví dụ triển khai: TypeScript · Rust
2
Tích hợp Privacy Interface và SDK
Privacy Interface cho phép mã của bạn sử dụng Privacy SDK để tạo các giao dịch riêng tư mà không cần truy cập trực tiếp vào dữ liệu khóa. Hệ thống quản lý khóa của bạn triển khai Privacy Interface theo hai phần.- Giao diện ký để tạo giao dịch bằng Privacy SDK. Xem mã nguồn: TypeScript/ Rust
- Giao diện mã hóa và giải mã. Xem mã nguồn: TypeScript/ Rust
Privacy Interface không có trạng thái nên không lưu trữ số dư hoặc lịch sử giao dịch.
Để cải thiện hiệu năng, bạn nên lưu cục bộ số dư và lịch sử giao dịch của người dùng vào bộ nhớ đệm.
Về việc tạo bằng chứng
Việc tạo bằng chứng không kiến thức yêu cầu đầu vào dạng văn bản thuần của toàn bộ dữ liệu giao dịch người dùng và các khóa nullifier.Hiện tại, tính năng tạo bằng chứng trên máy chủ được cung cấp thông qua URL RPC Helius tiêu chuẩn.Tính năng tạo bằng chứng cục bộ sẽ sớm ra mắt. Trình tạo bằng chứng mặc định của các SDK là một enclave AWS Nitro đã được chứng thực.3
Tích hợp luồng người dùng
Tạo ví riêng tư
Ví riêng tư được tạo theo hai bước:- Suy ra cặp khóa được che chắn
- Đăng ký địa chỉ Solana trong một registry trên chuỗi.
Trong ứng dụng ví, bạn có thể cho phép người dùng tạo ví riêng tư chỉ cho một khóa công khai “Private Wallet” chuyên dụng
hoặc cho bất kỳ khóa công khai nào.
Mỗi bản ghi registry là một PDA thuộc sở hữu của . Bất kỳ ai cũng có thể tra cứu để xem một địa chỉ Solana có thể nhận giao dịch chuyển riêng tư hay không.
- TypeScript Client
- Rust Client
ownerlà người ký Solana của người dùng, được dùng để suy ra PDA registry.addresslà địa chỉ được che chắn của người dùng.getRegisterInstructionAsyncđăng ký các khóa của địa chỉ được che chắn.getSetMergeEncryptionInstructionAsyncbật tính năng hợp nhất cho các UTXO của người dùng. Một giao dịch chuyển có thể chi tiêu tối đa 40 UTXO, vì vậy việc hợp nhất đảm bảo người dùng luôn có thể chi tiêu toàn bộ số dư trong một giao dịch chuyển. Tìm hiểu thêm về việc hợp nhất UTXO.sendTransactionký và gửi giao dịch.isWalletRegisteredđọc PDA registry để kiểm tra trạng thái đăng ký.
Ví dụ đăng ký đầy đủ: TypeScript · Rust
Đồng bộ số dư riêng tư và lịch sử giao dịch
Quá trình đồng bộ số dư lấy trạng thái đã mã hóa từ RPC và giải mã trạng thái đó trong ví.RPC không thực hiện giải mã. Chỉ chủ sở hữu mới có thể giải mã số dư riêng tư bằng khóa xem.Ví nên giải mã và cập nhật số dư trước các giao dịch riêng tư và ở bất cứ đâu ví chạy quá trình truy xuất dữ liệu bù: khi mở khóa ví, mở ví riêng tư, tiếp tục ứng dụng, kết nối lại mạng, có khoảng trống luồng hoặc khôi phục ví.
Read a Private Balance
Read Private Transaction History
Nạp vào số dư riêng tư
Người dùng có thể nạp vào số dư riêng tư theo hai cách:- Chuyển từ số dư tiền pháp định sang số dư tiền mã hóa riêng tư
- Nạp từ tài khoản SPL công khai vào số dư riêng tư
On-/Off-Ramp
Chuyển đổi trực tiếp tiền pháp định vào và ra khỏi số dư riêng tư.
Deposit
Nạp từ số dư tiền mã hóa công khai.
Giao dịch chuyển riêng tư
Người dùng có thể gửi giao dịch chuyển riêng tư đến bất kỳ địa chỉ ví Solana nào.Đối với mỗi giao dịch chuyển riêng tư, Privacy SDK tra cứu địa chỉ ví trong registry trên chuỗi để kiểm tra xem người nhận có ví riêng tư hay không.Privacy SDK có thể chuyển một giao dịch chuyển riêng tư thành giao dịch rút từ riêng tư sang công khai khi người nhận không có ví riêng tư.Bạn nên gắn nhãn giao dịch trong giao diện người dùng là giao dịch rút tiền để đảm bảo người dùng không vô tình rút sang số dư công khai.Bạn nên yêu cầu một chữ ký người dùng riêng biệt trong giao diện người dùng để đảm bảo người dùng không vô tình rút sang số dư công khai.
Private Transfer
Chuyển riêng tư vào số dư riêng tư.
Rút về số dư công khai
Có thể sử dụng tính năng rút tiền theo hai cách:- Làm phương án dự phòng cho các giao dịch chuyển riêng tư đến người nhận không có ví riêng tư, hoặc
- Rút trực tiếp về tài khoản token SPL công khai.
Withdraw
Rút về số dư tiền mã hóa công khai.