eth_getTransactionReceipt
トランザクションハッシュに基き、トランザクションレシートを返します。
注意
未承認トランザクションでは、このレシートは有効ではありません。
パラメータ
1. DATA
32バイト
トランザクションハッシュ
code:params.js
params: [
'0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238'
]
戻り値
Object - トランザクションレシートのオブジェクト。レシートが見つからない場合 null
transactionHash : DATA
32バイト
トランザクションハッシュ
transactionIndex : QUANTITY
ブロック内のトランザクションのインデックス位置
blockHash : DATA
32バイト
トランザクションが取り込まれたブロックのハッシュ
blockNumber : QUANTITY
トランザクションが取り込まれたブロックの番号
from : DATA
20バイト
送信者のアドレス
to : DATA
20バイト
受信者のアドレス
コントラクト作成トランザクションの場合は null
cumulativeGasUsed : QUANTITY
このブロック内で実行されたトランザクションで使用されたガスの総量
gasUsed : QUANTITY
このトランザクション単体で使用されたガスの量
contractAddress : DATA,
20バイト
コントラクト作成トランザクションの場合、作成されたコントラクトのアドレス
そうでない場合 null
logs : Array
このトランザクションが生成されたログオブジェクトの配列
logsBloom : DATA
256バイト
さらに、つぎのいずれかを返します。
root : DATA
32バイト
トランザクション後の state root(Byzantium 以前)
status : QUANTITY
成功時 1
失敗時 0
サンプル
code:example.sh
// Request
// Result
{
"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'
}
}
Infura を使用したサンプル
GET
code:infura_example_get.sh
POST
code:infura_example_post.sh
curl -i -X POST \
-H "Content-Type: application/json" \
RESPONSE
code:infura_response.sh
{"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x1d59ff54b1eb26b013ce3cb5fc9dab3705b415a67127a003c3e61eb445bb8df2","blockNumber":"0x5daf3b","contractAddress":null,"cumulativeGasUsed":"0x20ec2d","from":"0xa7d9ddbe1f17865597fbd27ec712455208b6b76d","gasUsed":"0x53a0","logs":[],"logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0xf02c1c8e6114b1dbe8937a39260b5b0a374432bb","transactionHash":"0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b","transactionIndex":"0x41"}}
動作サンプル
code:demo.js
let html = '<div><h1>eth_getTransactionReceipt</h1></div>'
+ '<div>'
+ '<div>transaction hash: <input type="text" id="input" size="60"></input></div>'
+ '<button onclick="run()">実行</button>'
+ '</div>'
+ '<div><textarea id="result" cols="100" rows="30" readonly></textarea></div>'
$(document.body).append(html)
function run() {
let input = $('#input').val()
if (input.length == 66) {
.then((response) => {
console.log(response)
$('#result').html(JSON.stringify(response, null, '\t'))
})
}
}
参考