SmartContract and "failed" status


#1

Hello. We’ve developed an ERC20/ERC865 Smart Contract in which we emit, or transfer tokens.

The problem is that some of those transactions end up with the status “FAILED” in the blockchain, but no further details are given by explorers.

How can we check what exactly is the error on those transactions?

Here is some example of failed transaction:
0x470c6c9457bd72c15d8c7455e3e644a0d7f6a0537507f1870e72636b5becbc98

Does it makes sense to be failed? How can we check the reason it failed?


Edit:

Here are two examples:

Transaction failed:
0xeff6a13ab80bebb66f8cc408654cead9b9dfe29d4f229695d62c523fc9a95efb

Transaction worked:
0xe9d6e42490e0487a9d847e30e0354e26ee9b215eec2e5418aa5e26560a48ae72

Both looks almost identical, yet one of them failed.


#2

@kazzkiq Hi, sorry for the late reply, usually you’ll find faster response in Discord but happy to help you here!

Check Solidity version. If it’s compiling higher than 0.4.19, it will fail when you interact with the smart contract after. That’s because any version higher that 0.4.19 has newer OP CODE that ETC hasn’t adopted due to it requiring a hardfork. We are working on a better alternative now for it.

If you need more documentation on how to compile on that specific version, check out my guide here: https://medium.com/ethereum-classic/adventures-in-classical-ether-38d576a9bdff

I’m @Yazanator on Twitter, DM if you have issues.