Skip to Content
dApps
En esta página

eth_getTransactionByHash

Devuelve la información de una transacción a partir de su hash.


Parámetros

ÍndiceTipoDescripción
0stringHash de la transacción (32 bytes)

Devuelve

object | null - Objeto de transacción o null si no se encuentra

CampoTipoDescripción
hashstringHash de la transacción
noncestringNonce del remitente (hexadecimal)
blockHashstringHash del bloque (null si está pendiente)
blockNumberstringNúmero de bloque (null si está pendiente)
transactionIndexstringÍndice en el bloque (null si está pendiente)
fromstringDirección del remitente
tostringDirección del destinatario (null para la creación de contratos)
valuestringValor transferido (wei en hexadecimal)
gasPricestringPrecio del gas (hexadecimal)
gasstringLímite de gas (hexadecimal)
inputstringDatos de la transacción
vstringID de recuperación ECDSA
rstringComponente r de la firma ECDSA
sstringComponente s de la firma ECDSA

Ejemplo

const tx = await window.$onekey.ethereum.request({ method: 'eth_getTransactionByHash', params: ['0x88df016429689c079f3b2f6ad39fa052532c56795b733da78a91ebe6a713944b'] }) if (tx) { console.log('From:', tx.from) console.log('To:', tx.to) console.log('Value:', BigInt(tx.value).toString()) console.log('Status:', tx.blockHash ? 'Mined' : 'Pending') }

Seguir una transacción después de enviarla

async function sendAndTrack(txParams, timeoutMs = 60000) { const deadline = Date.now() + timeoutMs // Send transaction const txHash = await window.$onekey.ethereum.request({ method: 'eth_sendTransaction', params: [txParams] }) console.log('Transaction sent:', txHash) // Poll for transaction details const checkTx = async () => { if (Date.now() >= deadline) throw new Error("Transaction lookup timed out") const tx = await window.$onekey.ethereum.request({ method: 'eth_getTransactionByHash', params: [txHash] }) if (tx && tx.blockHash) { console.log('Transaction mined in block:', parseInt(tx.blockNumber, 16)) return tx } // Still pending, check again await new Promise(r => setTimeout(r, 2000)) return checkTx() } return checkTx() }

Errores

CódigoMensajeDescripción
-32602Parámetros no válidosHash de transacción no válido

Notas

  • Devuelve null si no se encuentra la transacción
  • Las transacciones pendientes tienen null en blockHash y blockNumber
  • Para consultar el estado de la transacción (éxito o fallo), usa eth_getTransactionReceipt
  • Los datos de la transacción persisten incluso después de que se mine
Última actualización el