以太坊JSON RPC手册

eth_getTransactionReceipt

返回指定交易的收据,使用哈希指定交易。

需要指出的是,挂起的交易其收据无效。

参数

DATA, 32字节 - 交易哈希

params: [
   '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]

返回值

Object - 交易收据对象,如果收据不存在则为null。交易对象的结构如下:

  • transactionHash: DATA, 32字节 - 交易哈希
  • transactionIndex: QUANTITY - 交易在块内的索引序号
  • blockHash: DATA, 32字节 - 交易所在块的哈希
  • blockNumber: QUANTITY - 交易所在块的编号
  • from: DATA, 20字节 - 交易发送方地址
  • to: DATA, 20字节 - 交易接收方地址,对于合约创建交易该值为null
  • cumulativeGasUsed: QUANTITY - 交易所在块消耗的gas总量
  • gasUsed: QUANTITY - 该次交易消耗的gas用量
  • contractAddress: DATA, 20字节 - 对于合约创建交易,该值为新创建的合约地址,否则为null
  • logs: Array - 本次交易生成的日志对象数组
  • logsBloom: DATA, 256字节 - bloom过滤器,轻客户端用来快速提取相关日志

返回的结果对象中还包括下面二者之一 :

  • root : DATA 32字节,后交易状态根(pre Byzantium)
  • status: QUANTITY ,1 (成功) 或 0 (失败)

示例代码

请求:

curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'

响应:

{
"id":1,
"jsonrpc":"2.0",
"result": {
     transactionHash: '0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238',
     transactionIndex:  '0x1', // 1
     blockNumber: '0xb', // 11
     blockHash: '0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b',
     cumulativeGasUsed: '0x33bc', // 13244
     gasUsed: '0x4dc', // 1244
     contractAddress: '0xb60e8dd61c5d32be8058bb8eb970870f07233155', // or null, if none was created
     logs: [{
         // logs as returned by getFilterLogs, etc.
     }, ...],
     logsBloom: "0x00...0", // 256 byte bloom filter
     status: '0x1'
  }
}