Estoy un poco confundido por el valor de "raíz" que obtengo en el recibo de la transacción
según tengo entendido, la raíz es el valor que apunta al bloque anterior en el bloque chian,
pero cuando trato de rastrear ese bloque por el valor de la raíz, muestra nulo o no encontrado, he intentado seguir dos formas
debug.traceBlockByHash("hash(valor de raíz)")
Y
eth.getTransactionReceipt("hash(valor de raíz)")
pero no puedo rastrear el bloque raíz
Para referencia:- mi recibo de transacción
{
blockHash: "0x38745b73aaca70ae40dd4f89e039dd4afb90cf606308701548200d8a757e69be",
blockNumber: 10897,
contractAddress: null,
cumulativeGasUsed: 73966,
from: "0xf0606aab9ed3f89a4167b43ce4eed4ff8f4cc195",
gasUsed: 32855,
logs: [],
logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000",
root: "0x25eba79d41fbe9d11c8a82a2b1629784e80e7c5322832f5386d13b5bd211c8e2",
to: "0x742c8105ba6cfd99ff20ffc19332a9782caecb8a",
transactionHash: "0xb3645970eecb8b2b1e00d2b2f4bff5bab90bbdcb36300ad44348a0e954073f22",
transactionIndex: 1
}
los siguientes son los resultados que recibí
> debug.traceBlockByHash("0x25eba79d41fbe9d11c8a82a2b1629784e80e7c5322832f5386d13b5bd211c8e2")
{
error: "block #25eba79d41fbe9d11c8a82a2b1629784e80e7c5322832f5386d13b5bd211c8e2 not found",
structLogs: null,
validated: false
}
Y
> eth.getTransactionReceipt("0x25eba79d41fbe9d11c8a82a2b1629784e80e7c5322832f5386d13b5bd211c8e2")
null
una cosa más confusa es que el número de bloque que veo en el recibo de la transacción no es consecutivo para transacciones consecutivas, es decir. Si mi primer recibo de transacción tiene
Número de bloque: 10849
entonces el
el siguiente es 10853
el siguiente es 10865
¿Cómo se genera este número de bloque?
Un bloque se identifica con blockHash
, que es el hash del bloque, o con blockNumber
, que es la posición del bloque en la cadena. Los bloques pueden contener múltiples transacciones y se generan incluso si no hay transacciones en ellos, por lo que no debe esperarse que aumenten en serie con sus transacciones. blockNumber
se refiere a veces como "altura". Mire la consola o registre la salida de un nodo si desea ver cómo se generan los bloques.
Puede obtener información de bloque con eth.getBlock()
. Pásale un hash de bloque o un número de bloque.
Puede obtener información de transacciones con eth.getTransaction()
. Pásele el hash de la transacción que le interesa.
eth.getTransactionReceipt()
también espera un hash de transacción.
No lo necesita root
para ninguno de los propósitos que menciona, pero si tiene curiosidad sobre qué es, consulte: ¿ Cuál es la 'raíz' de un recibo de transacción?
SwapnilKumbhar
Edmundo Edgar