如何获取 solana 上的交易金额或价值?

How to Get Transaction Amount Or Value on solana?

使用此代码为我提供有关 Solana 区块链的交易信息:

var treansaction = await rpcClient.GetTransactionAsync("3QHYFzSn5Red7PZ2UA9AGkPWmcLgYrQhKAxWfK2AXCiCpe1wYBbf6BVRvtyTacSiD7PmREF8jNwqvbWo6z2NPWSc");
Console.WriteLine($"{treansaction.Result.Transaction}");
Console.WriteLine($"{treansaction.Result.BlockTime.Value}");
Console.WriteLine($"{treansaction.Result.Slot}");
Console.WriteLine($"{treansaction.Result.Meta.Fee}");
Console.WriteLine($"{treansaction.Result.Meta.Error}");
Console.WriteLine($"{treansaction.Result.Meta.PreTokenBalances}");
Console.WriteLine($"{treansaction.Result.Meta.PreBalances}");
Console.WriteLine($"{treansaction.Result.Meta.PostTokenBalances}");
Console.WriteLine($"{treansaction.Result.Meta.InnerInstructions}");
Console.WriteLine($"{treansaction.Result.Meta.PreTokenBalances}");

Console.WriteLine($"{treansaction.Result.Transaction.Message}");
Console.WriteLine($"{treansaction.Result.Transaction.Signatures}");

但我无法获得交易价值或金额??

这太糟糕了——Solnet 库将交易的 return 格式硬编码为 "json",没有给出使用 "jsonParsed" 的选项。您需要更改此行以传入 "jsonParsed"https://github.com/bmresearch/Solnet/blob/591b814fef270606332da6a4c1da4866f83f07ce/src/Solnet.Rpc/SolanaRpcClient.cs#L432

之后,您将能够查看 transaction.message.instructions[0].data 以获取有关转移价值的完整信息。

另外,您还可以使用 preBalancespostBalances 查看整个交易过程中移动了多少。