- Операция чтения получает зашифрованные приватные токен-аккаунты Solana из индексатора с помощью специальных методов RPC.
- Только пользователь или тот, кого он уполномочил, может расшифровать балансы с помощью ключа просмотра.
- Используйте эту операцию после изменения приватного баланса и перед переводом.
Compare to getBalance / getAccount
Compare to getBalance / getAccount
getBalanceвозвращает публичный баланс SOL.getAccountвозвращает публичный токен-аккаунт.- RPC возвращает публичный баланс.
Начало работы
- TypeScript Client
- Rust Client
1
Предварительные требования
Для примеров на TypeScript требуются Node.js 24 или более поздней версии, pnpm 11.18.0 и Solana CLI.
Connect to Endpoints
Connect to Endpoints
- Devnet
- Localnet
.env
2
Получите тег просмотра
senderViewTag— этоsenderAddress.confidentialViewTag(), публичный ключ Solana отправителя в конфиденциальных кольцах. Индексатор использует его для возврата соответствующих зашифрованных выходов.
3
Получите выходы транзакций из индексатора
getShieldedTransactionsByTagsполучает зашифрованные выходы, связанные сsenderViewTag.atSlot(depositTx.slot)ожидает, пока индексатор зарегистрирует депозит в этом слоте.- Индексатор возвращает зашифрованные данные выходов. Он не расшифровывает приватный баланс.
4
Расшифруйте приватный баланс
senderпередает ключ просмотра отправителя для локальной расшифровки.decryptToBalancesрасшифровывает соответствующие выходы и возвращает приватные балансы отправителя.balancesAfterDeposit.balance(SOL_MINT)считывает приватный баланс SOL.
Описание работы тегов владельцев и приватных токен-аккаунтов Solana см. в разделе Приватное состояние и UTXO.
Полный пример кода
Клонируйте и запустите пример:В примерах используется конфиденциальное кольцо в локальной сети/devnet, доступное здесь.
Связанные руководства
Create a Private Wallet
Deposit
Transfer
Withdraw
Read Private History
Не нашли то, что искали?
Свяжитесь с нами! Telegram | Электронная почта | Контакты