8

I wonder if there is an equivalent to bitcoind's getrawtransaction, i.e., a command to dump a raw transaction in hex format, given its hash id.

I am working preferably in geth.

7

There is eth.getRawTransaction(<txhash>) now.

Edit: Please check that you're using an up-to-date version of geth. It's part of the current release (v.1.8.6) and was introduced some time ago. You can also see it in the source code: https://github.com/ethereum/go-ethereum/blob/ca64a122d33008c155c35a9d0e78cfbcafb1820a/internal/web3ext/web3ext.go (look for getRawTransaction)
https://github.com/ethereum/go-ethereum/blob/ec8ee611caefb5c5ad5d796178e94c1919260df4/internal/ethapi/api.go (look for GetRawTransactionByHash)

input: transaction hash
output: bytes of the corresponding transaction

  • Can you please improve & expand this answer by providing links to documentation and the call/response? – tayvano Jun 12 '17 at 22:19
  • Is this real? It seems that this call does not exist – blues Jan 10 '18 at 11:40
  • There isn't eth.getRawTransaction(). What are you talking about? – rustyx Apr 24 '18 at 15:11
  • I am probing a Geth client version 1.8.15 and this method does not seem to exist. This call returns 405 Method Not Allowed: curl -i -X POST --data '{"jsonrpc":"2.0","method":"eth_getRawTransaction","params":["0x14f00d6f024a1d19d1d93948627020c5b75fc6b2a9fabb256dd2320953834d96"],"id":1}' <client_url> The same happens if the method is eth_getRawTransactionByHash. – Thorkil Værge Oct 14 '18 at 12:42
3

Have a look at getTransactionByHash() of the JSON-RPC API.

eth_getTransactionByHash

Returns the information about a transaction requested by transaction hash.

Parameters

DATA, 32 Bytes - hash of a transaction
params: [
   "0xb903239f8543d04b5dc1ba6579132b143087c68db1b2168786408fcbce568238"
]
Returns

Object - A transaction object, or null when no transaction was found:

hash: DATA, 32 Bytes - hash of the transaction.
nonce: QUANTITY - the number of transactions made by the sender prior to this one.
blockHash: DATA, 32 Bytes - hash of the block where this transaction was in. null when its pending.
blockNumber: QUANTITY - block number where this transaction was in. null when its pending.
transactionIndex: QUANTITY - integer of the transactions index position in the block. null when its pending.
from: DATA, 20 Bytes - address of the sender.
to: DATA, 20 Bytes - address of the receiver. null when its a contract creation transaction.
value: QUANTITY - value transferred in Wei.
gasPrice: QUANTITY - gas price provided by the sender in Wei.
gas: QUANTITY - gas provided by the sender.
input: DATA - the data send along with the transact
  • 2
    That returns a json description, not the raw transaction – oriol Jul 26 '16 at 16:06
  • It is possible to construct the raw transaction from the data returned from the getTransactionByHash() RPC call. – Thorkil Værge Oct 14 '18 at 12:39
2

There is an "undocumented" method eth_getRawTransactionByHash from JSON-RPC

curl -H "Content-Type: application/json" -X POST --data \
'{"jsonrpc":"2.0","method":"eth_getRawTransactionByHash","params":["<TX_HASH>"],"id":1}' http://localhost:8545

<TX_HASH> - transaction id

  • If I call this, I get 405 Method Not Allowed. This method does not seem to exist on version 1.8.15. – Thorkil Værge Oct 14 '18 at 12:46
0

You can also find the raw transaction hex on etherscan.io by going to a transaction, picking Tools & Utilities and choosing Get Raw TxHash. See for example:

https://etherscan.io/getRawTx?tx=0x248b16e4cb8a624ab4bb3125a3a2cf6bd6d21200b773e3d9c1f0738b1b09dd22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.