Solana:在给定 TransactionSignature 的情况下恢复源和目标 public 键

Solana: Recover source and destination public keys given a TransactionSignature

是否有 JS API 可以在给定交易签名的情况下从 Pubkey 和 toPubkey 恢复?

如果您有交易签名,您可以使用 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