- Tạo ví riêng tư tự lưu ký
- Nhận chuyển khoả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 bảo vệ – trong hệ thống quản lý khóa để mã hóa
- Giao diện Quyền riêng tư và SDK – để tạo 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 bảo vệ
Việc tích hợp ví riêng tư sẽ thêm một cặp khóa được bảo vệ vào hệ thống quản lý khóa của bạn. Cặp khóa được bảo vệ dùng để ký, mã hóa và giải mã giao dịch.Cặp khóa được bảo vệ là một gói gồm khóa ký, khóa nullifier và khóa xem.- Khóa ký: Cặp khóa Solana Ed25519 của ví dùng để ký giao dịch.
- Khóa xem: Một cặp khóa P-256 dùng để mã hóa và giải mã giao dịch.
- Khóa nullifier:
- Đối với ví dựa trên seed, chọn Tạo từ cụm từ seed.
- Đối với ví không dựa trên seed, chọn Tạo từ chữ ký EdDSA.
- Derive from seed phrase
- Derive from EdDSA signature
Ví dựa trên seed tạo cặp khóa được bảo vệ từ một cụm từ ghi nhớ BIP-39 và một chỉ mục tài khoản (
0, 1, …).Mỗi chỉ mục tài khoản ánh xạ một cặp khóa Solana với một cặp khóa được bảo vệ.
Bạn có thể khôi phục cặp khóa được bảo vệ theo cùng cách khôi phục cặp khóa Solana.Ví dụ:- Tài khoản 0: Cặp khóa Solana 0 và cặp khóa được bảo vệ 0
- Tài khoản 1: Cặp khóa Solana 1 và cặp khóa được bảo vệ 1
Khóa ký được bảo vệ là khóa Solana Ed25519 của tài khoản đó.
Khóa nullifier và khóa xem là các khóa bổ sung được tạo từ cùng một seed.
Ví dụ triển khai: Ví dụ TypeScript · Ví dụ Rust
2
Tích hợp Giao diện Quyền riêng tư và SDK
Giao diện Quyền riêng tư cho phép mã của bạn sử dụng SDK Quyền riêng tư để tạo 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 Giao diện Quyền riêng tư theo hai phần.- Giao diện ký để tạo giao dịch bằng SDK Quyền riêng tư. Xem mã nguồn: TypeScript/ Rust
- Giao diện mã hóa và giải mã. Xem mã nguồn: TypeScript/ Rust
Giao diện Quyền riêng tư không có trạng thái, do đó không lưu trữ số dư hoặc lịch sử giao dịch.
Để cải thiện hiệu suất, chúng tôi khuyên bạn nên lưu số dư và lịch sử giao dịch của người dùng vào bộ nhớ đệm cục bộ.
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 dữ liệ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 qua URL RPC Helius tiêu chuẩn.Tính năng tạo bằng chứng cục bộ sắp ra mắt. Tính năng tạo bằng chứng trên máy chủ được mã hóa đầu cuối bằng AWS Nitro dự kiến sẽ có trước khi ra mắt mainnet.3
Tích hợp luồng người dùng
Tạo ví riêng tư
Ví riêng tư được tạo qua hai bước:- Tạo cặp khóa được bảo vệ
- Đăng ký địa chỉ Solana trong sổ đăng ký trên chuỗi.
Mỗi bản ghi trong sổ đăng ký 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 chuyển khoản riêng tư hay không.
- TypeScript Client
- Rust Client
ownerlà địa chỉ Solana của người dùng, được dùng để tạo PDA của sổ đăng ký.addresslà địa chỉ được bảo vệ của người dùng.buildRegistrationTransactiontrả về một giao dịch đăng ký hoặc cập nhật khóa đã biên dịch. Hàm trả vềundefinednếu ví đã được đăng ký.sendTransactionký và gửi giao dịch.isWalletRegisteredđọc PDA của sổ đăng ký để 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ư truy xuất 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ư cũng như tại mọi thời điểm chạy quá trình backfill: 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 trong 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 trực tiếp 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 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.
Chuyển khoản riêng tư
Người dùng có thể gửi các khoản chuyển riêng tư đến bất kỳ địa chỉ ví Solana nào.Đối với mỗi khoản chuyển riêng tư, SDK Quyền riêng tư tra cứu địa chỉ ví trong sổ đăng ký trên chuỗi để kiểm tra xem người nhận có ví riêng tư hay không.SDK Quyền riêng tư có thể chuyển một khoản 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ư.Chúng tôi khuyên 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 về 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 giao dịch rút tiền theo hai cách:- Là phương án dự phòng cho các khoản 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.