繁体   English   中英

解码以太坊交易输入数据时出现 InsufficientDataBytes 错误

[英]InsufficientDataBytes error when decoding ethereum transaction input data

尝试解码在 EVM 上似乎没问题的事务输入数据时,我收到了InsufficientDataBytes错误。

这是有问题的交易https://etherscan.io/tx/0x0a80cc2e457962b40ee74b961f0c1d5ec4578cffc204eb426d51456f2b25f68e

可以在 traces Action [4] https://etherscan.io/vmtrace?txhash=0x0a80cc2e457962b40ee74b961f0c1d5ec4578cffc204eb426d51456f2b25f68e&type=parity中看到输入数据

这是从交易返回的输入数据

0xfb0f3ee100000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e1c41d53dd380000000000000000000000000032af2682d1e89af4aef8203e5050191bf17842cc000000000000000000000000004c00500000ad104d7dbd00e3ae0a5c00560c00000000000000000000000000a49a0e5ef83cf89ac8aae182f22e6464b229efc80000000000000000000000000000000000000000000000000000000000000048000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000070000000000000000000000000000000000000000000000000000000063120e2500000000000000000000000000000000000000000000000000000000631602a500000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000060645ee7d499370000007b02230091a7ed01230072f7006a004d60a8d4e71d599b8104250f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000024000000000000000000000000000000000000000000000000000000000000002e0000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000061a0ea166d8000000000000000000000000000000a26b00c1f0df003000390027140000faa719000000000000000000000000000000000000000000000000000c341d42cdb000000000000000000000000000210d4c84c9d29b0ded22b19bd6d6562c696d6de100000000000000000000000000000000000000000000000000000000000000410ceaf14d2fd6e9152e320017969785cd9a61b05fa045581226c01189c0c3831d74330b0eab1ad061f4e564cb576759ffddcd39f9dd7569b783fef00ecffe15791c

我也有正确的合同 ABI。

web3_contract = Web3.eth.contract(
  Web3.toChecksumAddress(contract_address), abi=abi
)
res = web3_contract.decode_function_input(input_data)

错误:

InsufficientDataBytes: Tried to read 96 bytes.  Only got 65 bytes

你说的是内部交易,什么是 function。 你想从中得到什么? 你需要放更多

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM