2

I know there are transaction receipts to verify that a transaction included in a block was executed successfully and funds were actually transferred.

But can receipt verification be skipped if I'm dealing with a transaction that has no data in its body (i.e. a non-smart contract transaction)? Isn't the fact that the transaction was included within a block already a sufficient condition for successfulness in this specific case?

1 Answer 1

2

A transaction sent from an externally owned account (EOA) to another EOA will never fail when the data field is 0.

A transaction sent from an EOA to a smart contract may, however, fail if 0 is provided for the data field. In general, when transacting with a smart contract, if the transaction's data field does not match an existing method signature on the contract, it will trigger the fallback function. If the fallback function has logic that would cause the transaction to fail, then, yes, a transaction with 0 data would fail.

2
  • Can you point me to some documentation elaborating on that? Commented Jun 27, 2019 at 7:26
  • Also, now that I'm thinking about my use case a bit more - is a transaction even with a nonempty data field guaranteed to be successful once it is included in a block, supposing that the destination address is a regular (i.e. non-smart contract) address? Commented Jun 27, 2019 at 7:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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