Skip to main content

How to Use eth_getTransactionReceipt?

tokenviewAbout 2 min

How to Use eth_getTransactionReceipt?

From the first day the EVM launched, there were logs saving the transaction detail information onto Ethereum blockchain. These logs indicate the counterparty of the transaction, the token the transaction triggered on, the events the transaction exposed out, the data the transaction attached onto the blockchain etc.

The logs, named receipts, are important as it is the transaction proof which could be verified and identified by any body using the pre-defined encoding-decoding spec of EVM. Usually there are 2 methods to get 2 different kinds of granularity log data. One is eth_getTransactionReceipt, the other is eth_getBlockReceipts. eth_getTransactionReceipt is used to get one transaction's receipt log, while eth_getBlockReceipts is used to get all transactions' receipts in a block. We will introduce eth_getTransactionReceipt in this artical, eth_getBlockReceipts is same, but a list.

How to Use eth_getTransactionReceipt?

RPC eth_getTransactionReceipt is an interface to interact with EVM node to retrieve information of one transaction, so you have to call it from a local node or node service provider. Here is the curl syntax using Tokenview node serviceopen in new window.

curl -H "Content-Type:application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0x855aff97389df84541994e8133b15c01570d844a005035bc8bcc68ecd186f388"],"id":1}' https://services.tokenview.io/vipapi/nodeservice/eth?apikey={apikey}

The input parameter is the transaction hash, an archive node can return all the receipts of all transactions happened on blockchain, a full node can only return the latest transactions in latest x blocks, in it x depends on the configration of the full node.
Below is the normal response of this RPC. The result['log'][{array_index}]['topics'] tells what function is called, what parameters are input into the function, result['log'][{array_index}]['data'] tells the undefined parameter part.

{
    "jsonrpc":"2.0",
    "id":1,
    "result":{
        "blockHash":"0x330c5980143835f1b4683d2546556157cf20874d7ad1e4490c6d43ac07d1a2ac",
        "blockNumber":"0x101b6fe",
        "contractAddress":null,
        "cumulativeGasUsed":"0x1da47",
        "effectiveGasPrice":"0x9228e3f44",
        "from":"0x1cad683486c7c6f3a21d9a522e5d5cbb02d9c35e",
        "gasUsed":"0x1da47",
        "logs":[
            {
                "address":"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
                "topics":[
                    "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                    "0x00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                    "0x000000000000000000000000280027dd00ee0050d3f9d168efd6b40090009246"
                ],
                "data":"0x0000000000000000000000000000000000000000000000000000000ea945ebaa",
                "blockNumber":"0x101b6fe",
                "transactionHash":"0x855aff97389df84541994e8133b15c01570d844a005035bc8bcc68ecd186f388",
                "transactionIndex":"0x0",
                "blockHash":"0x330c5980143835f1b4683d2546556157cf20874d7ad1e4490c6d43ac07d1a2ac",
                "logIndex":"0x0",
                "removed":false
            },
            {
                "address":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
                "topics":[
                    "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef",
                    "0x000000000000000000000000280027dd00ee0050d3f9d168efd6b40090009246",
                    "0x00000000000000000000000088e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
                ],
                "data":"0x000000000000000000000000000000000000000000000001f0a591a58d8d6000",
                "blockNumber":"0x101b6fe",
                "transactionHash":"0x855aff97389df84541994e8133b15c01570d844a005035bc8bcc68ecd186f388",
                "transactionIndex":"0x0",
                "blockHash":"0x330c5980143835f1b4683d2546556157cf20874d7ad1e4490c6d43ac07d1a2ac",
                "logIndex":"0x1",
                "removed":false
            },
            {
                "address":"0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640",
                "topics":[
                    "0xc42079f94a6350d7e6235f29174924f928cc2ac818eb64fed8004e115fbcca67",
                    "0x000000000000000000000000280027dd00ee0050d3f9d168efd6b40090009246",
                    "0x000000000000000000000000280027dd00ee0050d3f9d168efd6b40090009246"
                ],
                "data":"0xfffffffffffffffffffffffffffffffffffffffffffffffffffffff156ba1456000000000000000000000000000000000000000000000001f0a591a58d8d60000000000000000000000000000000000000005d1a8c54a104574892942ca7de000000000000000000000000000000000000000000000000010bf798ba50c260d50000000000000000000000000000000000000000000000000000000000031373",
                "blockNumber":"0x101b6fe",
                "transactionHash":"0x855aff97389df84541994e8133b15c01570d844a005035bc8bcc68ecd186f388",
                "transactionIndex":"0x0",
                "blockHash":"0x330c5980143835f1b4683d2546556157cf20874d7ad1e4490c6d43ac07d1a2ac",
                "logIndex":"0x2",
                "removed":false
            }
        ],
        "logsBloom":"0x00000000010000000000000000000000000000020000000000000000040000000000000000000000000008000000000002000000080020000000000000000000000000000000000808000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000010000800000000000000000000000000000000000000000000010100000000000000000000000000000000200000000000000000000000000000000000002000000008000000000002000000000000000000002000000000000000000000000000000000000000200000000000000010000000000000000000000000000000000000000000",
        "status":"0x1",
        "to":"0x280027dd00ee0050d3f9d168efd6b40090009246",
        "transactionHash":"0x855aff97389df84541994e8133b15c01570d844a005035bc8bcc68ecd186f388",
        "transactionIndex":"0x0",
        "type":"0x2"
    }
}

Tokenview already showed these logs on their transaction pageopen in new window, check the first part of the result['log'][0], address is 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48, topics[0] is the function, topics[1] and topics[2] are the parameters of the function, data is the undefined parameter.

Switch back to the Transaction Info, 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 is USDCopen in new window, the function is Transfer, and the token transfer happened from 0x88e6 to 0x2800, and the data is the value transferred, 62969473962 is the raw data of USDC, divided by USDC's decimal 6, equals to 62969.473962.

Well done, you've got the core of eth_getTransactionReceipt, a must-have skill for indexing services.

Tokenview is a general multi-crypto blockchain explorer, and it is also a Developer Platform. You would be able to query your wallet balance, the transaction list on your wallet with end-user, and you also get the detail data from Blockchain APIs provided by Tokenview Developer Platformopen in new window.

About Tokenview Blockchain APIs & Data Service Platform:

Tokenview blockchain APIs & data service platform contained 120+ blockchains has powerful endpoints that simplify complex blockchain data into single API calls. Code for all supported blockchains using unified API calls. From here to easily get transaction, address, gas, contract, token, NFT, logs and any information from chain. And Yes you can also send tx to chain. One-click configuration with APIKey helps developers to Use, to Create, to Build.
Last update: