Skip to Content
dApps
Sur cette page

eth_getTransactionByHash

Renvoie les informations d’une transaction à partir de son hash.


Paramètres

IndiceTypeDescription
0stringHash de transaction (32 octets)

Valeur de retour

object | null - Objet de transaction ou null si la transaction est introuvable

ChampTypeDescription
hashstringHash de transaction
noncestringNonce de l’expéditeur (hex)
blockHashstringHash de bloc (null si en attente)
blockNumberstringNuméro de bloc (null si en attente)
transactionIndexstringIndice dans le bloc (null si en attente)
fromstringAdresse de l’expéditeur
tostringAdresse du destinataire (null pour la création d’un contrat)
valuestringValeur transférée (wei en hex)
gasPricestringPrix du gas (hex)
gasstringLimite de gas (hex)
inputstringDonnées de transaction
vstringIdentifiant de récupération ECDSA
rstringComposante r de la signature ECDSA
sstringComposante s de la signature ECDSA

Exemple

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') }

Suivre une transaction après l’envoi

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() }

Erreurs

CodeMessageDescription
-32602Paramètres non validesHash de transaction non valide

Remarques

  • Renvoie null si la transaction est introuvable
  • Les transactions en attente ont null pour blockHash et blockNumber
  • Pour le statut de la transaction (réussite/échec), utilisez eth_getTransactionReceipt
  • Les données de transaction persistent même après son minage
Dernière mise à jour le