使用此代码为我提供 Solana 区块链上的交易信息:
var transaction= await rpcClient.GetTransactionAsync("3QHYFzSn5Red7PZ2UA9AGkPWmcLgYrQhKAxWfK2AXCiCpe1wYBbf6BVRvtyTacSiD7PmREF8jNwqvbWo6z2NPWSc");
Console.WriteLine($"{transaction.Result.Transaction}");
Console.WriteLine($"{transaction.Result.BlockTime.Value}");
Console.WriteLine($"{transaction.Result.Slot}");
Console.WriteLine($"{transaction.Result.Meta.Fee}");
Console.WriteLine($"{transaction.Result.Meta.Error}");
Console.WriteLine($"{transaction.Result.Meta.PreTokenBalances}");
Console.WriteLine($"{transaction.Result.Meta.PreBalances}");
Console.WriteLine($"{transaction.Result.Meta.PostTokenBalances}");
Console.WriteLine($"{transaction.Result.Meta.InnerInstructions}");
Console.WriteLine($"{transaction.Result.Meta.PreTokenBalances}");
Console.WriteLine($"{transaction.Result.Transaction.Message}");
Console.WriteLine($"{transaction.Result.Transaction.Signatures}");
但我无法获得交易价值或金额??
这太糟糕了——Solnet 库将交易的返回格式硬编码为
"json"
,而不提供使用 "jsonParsed"
的选项。您需要更改此行以传入"jsonParsed"
:https://github.com/bmresearch/Solnet/blob/591b814fef270606332da6a4c1da4866f83f07ce/src/Solnet.Rpc/SolanaRpcClient.cs#L432
之后,您将能够查看
transaction.message.instructions[0].data
以获取有关转移值的完整信息。
另外,您还可以使用
preBalances
和 postBalances
查看整个交易期间移动了多少。