eth_getTransactionByBlockHashAndIndex¶
Query a transaction by block hash + in-block index.
- Source:
framework/src/main/java/org/tron/core/services/jsonrpc/TronJsonRpcImpl.java#getTransactionByBlockHashAndIndex - Ports: FullNode
8545/ Solidity8555
Request parameters¶
| Position | Type | Required | Description |
|---|---|---|---|
params[0] |
string | yes | Block hash |
params[1] |
string | yes | In-block transaction index, hex-encoded (starts at 0x0) |
curl -X POST https://nile.trongrid.io/jsonrpc \
-H 'Content-Type: application/json' \
-d '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x0000000003fe1ca05cf728c92ee79f5f2758c3e4e4ea88501826726880e8b81c","0x0"],"id":1}'
Response¶
TransactionResult (fields described in eth_getTransactionByHash); returns null if the block does not exist or the index is out of range.
The example below is the real response captured from the Nile testnet curl above (same contract call shown in eth_getTransactionByHash):
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"hash": "0x01b4cde4197b9d1a1ff09ef5d2b1d939d3ec2401b3f002ebd0802c0f30a6e4ca",
"blockHash": "0x0000000003fe1ca05cf728c92ee79f5f2758c3e4e4ea88501826726880e8b81c",
"blockNumber": "0x3fe1ca0",
"transactionIndex": "0x0",
"from": "0xdd791d6b49e190062d650e6a23c575510d35f2f9",
"to": "0x9ff8fc48fb114ccd5bbdc24a86f0c73082f08825",
"value": "0x0",
"gas": "0xae29",
"gasPrice": "0x64",
"input": "0xa6bd98ac0000...0000",
"type": "0x0",
"nonce": "0x0000000000000000",
"v": "0x1b",
"r": "0x2154e8ef08f014063de8a88bafe748c8cbb48633c1657c083dca1a73439b289f",
"s": "0x6aa796bfa58797da6354d35fb7334a8c145c48ae266e4a885f7ee44791b5a3c3"
}
}
Error responses¶
| Trigger | Code | message |
|---|---|---|
params[0] does not match (0x)?[a-zA-Z0-9]{64} |
-32602 |
invalid hash value |
params[0] is a valid 64-char string but fails to decode |
-32602 |
passes through the message thrown by ByteArray.fromHexString |
params[1] is not valid hex |
-32602 |
invalid index value |