Wie erhalte ich die Blockbestätigungen für eine bestimmte Transaktion mit JSON RPC?
Dies sind Informationen, die in Bitcoin in den Transaktions-JSON kommen würden, aber sie scheinen nicht in Ethereum zu kommen.
Was vermisse ich?
Wenn Sie eine Transaktion senden, erhalten Sie einen Transaktions-Hash zurück.
Verwenden Sie den Befehl getTransactionByHash({transaction hash}), um die Transaktionsdetails abzurufen. Ihre blockNumber sollte nicht null sein, wenn die Transaktion geschürft und in einen Block aufgenommen wurde.
Der Aufruf ist in https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionbyhash mit folgendem Beispiel dokumentiert:
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"],"id":1}'
// Result
{
"id":1,
"jsonrpc":"2.0",
"result": {
"hash":"0xc6ef2fc5426d6ad6fd9e2a26abeab0aa2411b7ab17f30a99d3cb96aed1d1055b",
"nonce":"0x",
"blockHash": "0xbeab0aa2411b7ab17f30a99d3cb9c6ef2fc5426d6ad6fd9e2a26a6aed1d1055b",
"blockNumber": "0x15df", // 5599
"transactionIndex": "0x1", // 1
"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1",
"to":"0x85h43d8a49eeb85d32cf465507dd71d507100c1",
"value":"0x7f110" // 520464
"gas": "0x7f110" // 520464
"gasPrice":"0x09184e72a000",
"input":"0x603880600c6000396000f300603880600c6000396000f3603880600c6000396000f360",
}
}
Rufen Sie dann eth_blockNumber ( https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_blocknumber ) auf, um die aktuelle Blockhöhe zu erhalten. Ihre Anzahl an Bestätigungen ist das Ergebnis von eth_blockNumber minus dem Ergebnis von eth_getTransaction blockNumber.
Die Antwort von BokkyPooBah ist perfekt und was das mit den Bestätigungen zu tun hat, habe ich hier die gleiche Frage gestellt: Wie gibt (aktuelle Blocknummer - Blocknummer einer bestimmten Transaktion) die Bestätigungsanzahl an? .
Sie können sich auch auf die Kommentare zu der Frage beziehen: Ethereum Network Transaction Confirmation Coverage . Die Idee ist, dass, wenn Ihre Transaktion in Block Nummer 100 enthalten war (nehmen Sie einfach an) und die aktuelle Blocknummer 160 ist, dies bedeutet, dass 60 zufällige Miner den Block 100 als gültig akzeptiert und dieser Kette hinzugefügt haben, und Sie können also sagen, dass Sie dies getan haben 60 Bestätigungen. Hier dreht sich alles um Konsens.
Nico
Nico
Datenschutz ist ein Menschenrecht.eth
Slava Fomin II