Solana: восстановить открытые ключи источника и назначения с помощью TransactionSignature
Есть ли JS API для восстановления fromPubkey и toPubkey с учетом подписи транзакции?
1 ответ
Если у вас есть подпись транзакции, вы можете получить транзакцию с помощью JSON RPC API.
getTransaction
конечная точка: https://docs.solana.com/developing/clients/jsonrpc-api#gettransaction
Эта конечная точка позволяет запрашивать
jsonParsed
кодирование, которое на самом деле будет декодировать все для вас. Обратите внимание, что не все транзакции поддерживают синтаксический анализ JSON.
РЕДАКТИРОВАТЬ: приведенное ниже применимо только для закодированных транзакций и не требуется для системных инструкций, которые уже содержат парсер.
Предполагая, что закодированная транзакция действительно содержит инструкцию передачи в системную программу, существует
decodeTransfer
помощник для этого: https://github.com/solana-labs/solana/blob/005592998dd107b3d54d9203babe24da681834f5/web3.js/src/system-program.ts#L266
Для других переводов вам придется написать собственный декодер на JS. На стороне Rust все это уже определено для вас в
solana-transaction-status
ящик: https://github.com/solana-labs/solana/blob/master/transaction-status/src/parse_instruction.rs