getTransaction
NEW: This method is only available in solana-core v1.7 or newer. Please use getConfirmedTransaction for solana-core v1.6
Returns transaction details for a confirmed transaction
请求参数
<string>
- transaction signature as base-58 encoded string<object>
- (optional) Configuration object containing the following optional fields:- (optional) encoding:
<string>
- encoding for each returned Transaction, either "json", "jsonParsed", "base58" (slow), "base64". If parameter not provided, the default encoding is "json". "jsonParsed" encoding attempts to use program-specific instruction parsers to return more human-readable and explicit data in the transaction.message.instructions list. If "jsonParsed" is requested but a parser cannot be found, the instruction falls back to regular JSON encoding (accounts, data, and programIdIndex fields). - (optional) Commitment; "processed" is not supported. If parameter not provided, the default is "finalized".
- (optional) encoding:
响应结果
<null>
- if transaction is not found or not confirmed<object>
- if transaction is confirmed, an object with the following fields:- slot:
<u64>
- the slot this transaction was processed in - transaction:
<object|[string,encoding]>
- Transaction object, either in JSON format or encoded binary data, depending on encoding parameter - blockTime:
<i64 | null>
- estimated production time, as Unix timestamp (seconds since the Unix epoch) of when the transaction was processed. null if not available - meta:
<object | null>
- transaction status metadata object:- err:
<object | null>
- Error if transaction failed, null if transaction succeeded. TransactionError definitions - fee:
<u64>
- fee this transaction was charged, as u64 integer - preBalances:
<array>
- array of u64 account balances from before the transaction was processed - postBalances:
<array>
- array of u64 account balances after the transaction was processed - innerInstructions:
<array|undefined>
- List of inner instructions or omitted if inner instruction recording was not yet enabled during this transaction - preTokenBalances:
<array|undefined>
- List of token balances from before the transaction was processed or omitted if token balance recording was not yet enabled during this transaction - postTokenBalances:
<array|undefined>
- List of token balances from after the transaction was processed or omitted if token balance recording was not yet enabled during this transaction - logMessages:
<array>
- array of string log messages or omitted if log message recording was not yet enabled during this transaction - DEPRECATED: status:
<object>
- Transaction status- "Ok":
<null>
- Transaction was successful - "Err":
<ERR>
- Transaction failed with TransactionError
- "Ok":
- rewards:
<array>
- present if rewards are requested; an array of JSON objects containing:- pubkey:
<string>
- The public key, as base-58 encoded string, of the account that received the reward - lamports:
<i64>
- number of reward lamports credited or debited by the account, as a i64 - postBalance:
<u64>
- account balance in lamports after the reward was applied - rewardType:
<string>
- type of reward: currently only "rent", other types may be added in the future
- pubkey:
- err:
- slot:
示例代码
请求:
curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getTransaction",
"params": [
"2nBhEBYYvfaAe16UMNqRHre4YNSskvuYgx3M6E4JP1oDYvZEJHvoPzyUidNgNX5r9sTyN1J9UxtbCXy2rqYcuyuv",
"json"
]
}
响应:
{
"jsonrpc": "2.0",
"result": {
"meta": {
"err": null,
"fee": 5000,
"innerInstructions": [],
"postBalances": [
499998932500,
26858640,
1,
1,
1
],
"postTokenBalances": [],
"preBalances": [
499998937500,
26858640,
1,
1,
1
],
"preTokenBalances": [],
"status": {
"Ok": null
}
},
"slot": 430,
"transaction": {
"message": {
"accountKeys": [
"3UVYmECPPMZSCqWKfENfuoTv51fTDTWicX9xmBD2euKe",
"AjozzgE83A3x1sHNUR64hfH7zaEBWeMaFuAN9kQgujrc",
"SysvarS1otHashes111111111111111111111111111",
"SysvarC1ock11111111111111111111111111111111",
"Vote111111111111111111111111111111111111111"
],
"header": {
"numReadonlySignedAccounts": 0,
"numReadonlyUnsignedAccounts": 3,
"numRequiredSignatures": 1
},
"instructions": [
{
"accounts": [
1,
2,
3,
0
],
"data": "37u9WtQpcm6ULa3WRQHmj49EPs4if7o9f1jSRVZpm2dvihR9C8jY4NqEwXUbLwx15HBSNcP1",
"programIdIndex": 4
}
],
"recentBlockhash": "mfcyqEXB3DnHXki6KjjmZck6YjmZLvpAByy2fj4nh6B"
},
"signatures": [
"2nBhEBYYvfaAe16UMNqRHre4YNSskvuYgx3M6E4JP1oDYvZEJHvoPzyUidNgNX5r9sTyN1J9UxtbCXy2rqYcuyuv"
]
}
},
"blockTime": null,
"id": 1
}
请求:
curl http://localhost:8899 -X POST -H "Content-Type: application/json" -d '
{
"jsonrpc": "2.0",
"id": 1,
"method": "getTransaction",
"params": [
"2nBhEBYYvfaAe16UMNqRHre4YNSskvuYgx3M6E4JP1oDYvZEJHvoPzyUidNgNX5r9sTyN1J9UxtbCXy2rqYcuyuv",
"base64"
]
}
响应:
{
"jsonrpc": "2.0",
"result": {
"meta": {
"err": null,
"fee": 5000,
"innerInstructions": [],
"postBalances": [
499998932500,
26858640,
1,
1,
1
],
"postTokenBalances": [],
"preBalances": [
499998937500,
26858640,
1,
1,
1
],
"preTokenBalances": [],
"status": {
"Ok": null
}
},
"slot": 430,
"transaction": [
"AVj7dxHlQ9IrvdYVIjuiRFs1jLaDMHixgrv+qtHBwz51L4/ImLZhszwiyEJDIp7xeBSpm/TX5B7mYzxa+fPOMw0BAAMFJMJVqLw+hJYheizSoYlLm53KzgT82cDVmazarqQKG2GQsLgiqktA+a+FDR4/7xnDX7rsusMwryYVUdixfz1B1Qan1RcZLwqvxvJl4/t3zHragsUp0L47E24tAFUgAAAABqfVFxjHdMkoVmOYaR1etoteuKObS21cc1VbIQAAAAAHYUgdNXR0u3xNdiTr072z2DVec9EQQ/wNo1OAAAAAAAtxOUhPBp2WSjUNJEgfvy70BbxI00fZyEPvFHNfxrtEAQQEAQIDADUCAAAAAQAAAAAAAACtAQAAAAAAAAdUE18R96XTJCe+YfRfUp6WP+YKCy/72ucOL8AoBFSpAA==",
"base64"
]
},
"id": 1
}