I want to check ETH contract deposit.

ETH contract deposit : (https://etherscan.io/tx/0xc4ae4e2444e91b02633cc771468585c954cc444e300ddceb659776287a4bdd39)

  "blockHash": "0x065e3b474eb1b099a462e5043b906130bf27ed487cc0177a7571b1c059f0bf62",
  "blockNumber": "0x6db0a6",
  "from": "0x8fa8af91c675452200e49b4683a33ca2e1a34e42",
  "gas": "0x30d40",
  "gasPrice": "0xdf8475800",
  "hash": "0xc4ae4e2444e91b02633cc771468585c954cc444e300ddceb659776287a4bdd39",
  "input": "0x39125215000000000000000000000000203e0d51bda051e666b8f9008a0db4caed02e10d000000000000000000000000000000000000000000000001182effd06158c40000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000005c5c4dd30000000000000000000000000000000000000000000000000000000000000f8b00000000000000000000000000000000000000000000000000000000000000e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000414e2da5263cb39f5cc49491871c637283b70839df747e16a75762daebe7b624e00ac6786916402d50ff66debadbcc30d13f532f721a36fb9a4f646e38b0e751441c00000000000000000000000000000000000000000000000000000000000000",
  "nonce": "0xf83",
  "r": "0x4101a528c1a21c320b4270ef42845bb35dcc17dab4fd9036769a3c022ba0343d",
  "s": "0x1e9727d23d54b45b966893cdc13cf16dbaf3c90706cf52cfd2a2d832a298d22b",
  "to": "0x3fbe1f8fc5ddb27d428aa60f661eaaab0d2000ce",
  "transactionIndex": "0xc",
  "v": "0x25",
  "value": "0x0"

Can i get the toAddress and amount from input? How?


In case you have the contract ABI you can determine the function being called from the input.

If you do not have the ABI you can inspect the first four bytes to try to identify the function being called.

In this particular the first 4 bytes are 0x39125215. Consulting a database of functions signatures www.4byte.directory we obtain.


Searching it seems the contract is an instance of this repository https://github.com/BitGo/eth-multisig-v2/blob/master/contracts/WalletSimple.sol

Assuming the contract is correct you can use its ABI to determine the parameters of the transaction.

   * Execute a multi-signature transaction from this wallet using 2 signers: one from msg.sender and the other from ecrecover.
   * Sequence IDs are numbers starting from 1. They are used to prevent replay attacks and may not be repeated.
   * @param toAddress the destination address to send an outgoing transaction
   * @param value the amount in Wei to be sent
   * @param data the data to send to the toAddress when invoking the transaction
   * @param expireTime the number of seconds since 1970 for which this transaction is valid
   * @param sequenceId the unique sequence id obtainable from getNextSequenceId
   * @param signature see Data Formats
  function sendMultiSig(
      address toAddress,
      uint value,
      bytes data,
      uint expireTime,
      uint sequenceId,
      bytes signature
  ) public onlySigner {

In the case you are not able to identify the function call the final case is to use low level functions like geth's debug_traceTransaction or parity's trace_transaction.

|improve this answer|||||
  • Thank you! I have one more question. is the all of Ethereum internal transation using sendMultiSig func?? if that true, can I get a toAddress and volume using parsing input data? – Heesu Cheon Feb 15 '19 at 9:54
  • @HeesuCheon No, internal transactions do not appear in the transaction. You need to use debug_traceTransaction from geth or trace_rawTransaction from parity. – Ismael Feb 15 '19 at 16:50

The input variable doesn't encode the transaction, it'd the tx data sent with the transaction. The to and avalue are in receipt you posted, the last property and the 4th from the last.

|improve this answer|||||
  • Thanks! but I want to get internal transaction. I said it wrong.. sorry – Heesu Cheon Feb 15 '19 at 9:43

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