- Операция чтения получает зашифрованные транзакции из индексатора с помощью специализированных методов RPC.
- Расшифровать историю с помощью ключа просмотра может только пользователь или любой, кому пользователь предоставил доступ.
- Используйте эту операцию во всех случаях, когда кошелек выполняет ретроспективную загрузку: при разблокировке кошелька, открытии приватного кошелька, возобновлении работы приложения, повторном подключении к сети, наличии пропуска в потоке или восстановлении кошелька.
Compare to getSignaturesForAddress
Compare to getSignaturesForAddress
getSignaturesForAddressвозвращает общедоступные подписи.- 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
Расшифровка приватной истории
LocalShieldedKeys.fromKeypair(sender)предоставляет ключи отправителя для локальной расшифровки.decryptTransactionsрасшифровывает соответствующие выходы и записывает историю вWallet.wallet.privateTransactions()считывает расшифрованную историю.decryptToBalancesвозвращает только балансы.
Информацию о тегировании владельцев и работе приватных аккаунтов токенов Solana см. в разделе Приватное состояние и UTXO.
Полный пример кода
Клонируйте и запустите пример:В примерах используется конфиденциальное кольцо в локальной сети/devnet, доступное здесь.
Связанные руководства
Read a Private Balance
Deposit
Transfer
Withdraw
Не нашли то, что искали?
Свяжитесь с нами! Telegram | Электронная почта | Контакты