Skip to main content
46 votes
Accepted

How do I detect a failed transaction after the Byzantium fork as the REVERT opcode does not consume all gas?

Summary After the Byzantium fork, eth.getTransactionReceipt(...) will return a status field. The status field has a value of 0 when a transaction has failed with the REVERT opcode and 1 when the ...
BokkyPooBah's user avatar
  • 40.4k
20 votes
Accepted

What is the exact meaning of a transaction's new receipt 'status' field?

This was described by EIP 658 which was implemented in the Byzantium fork. The text of the EIP is here, though strangely it doesn't seem to have been formally finalised before the fork. In any case, ...
benjaminion's user avatar
  • 9,317
5 votes
Accepted

How can we verify BGLS aggregate signatures in Solidity?

I think this is actually just a notational issue. In the original paper the groups are written multiplicatively, while the groups in the Ethereum docs are written additively. In particular, e(g1, σ)...
Tjaden Hess's user avatar
  • 37.3k
3 votes

Is "Proof-of-work" a subset of "Byzantine fault tolerance (BFT)"?

Byzantine Fault Tolerance Byzantine Fault Tolerance is the characteristic which defines a system that tolerates the class of failures that belong to the Byzantine Generals’ Problem. Proof Of ...
Soham Lawar's user avatar
  • 2,577
3 votes

What's Byzantium? What's Metropolis? What should I do after these happen? Will I lose my ETH?

At a very high level, you can think of the current version of Ethereum as V2.1 of Ethereum and Metropolis as being another name for version 3. Byzantium is kind of like version 3 alpha (a feature-...
lungj's user avatar
  • 6,680
2 votes

Does the new receipt status field report all errors all the way down the call chain?

If you call smart contract A, and it calls smart contract B, and smart contract B fails, it is up to smart contact A how to handle that. In most reasonable cases, the only sane action is for smart ...
James_pic's user avatar
  • 1,108
1 vote
Accepted

How does ethereum network keep consistent

The short answer is they're not synchronizing the state. They're synchronizing transactions. The Ethereum Virtual Machine is modelled as a state machine. A state machine has one definite state and one ...
Rob Hitchens's user avatar
  • 55.6k
1 vote

How does ethereum network keep consistent

As you describe, there are minor consensus failures all the time and they change the "tip of the chain." Minor blockchain reorganisations happen: Some blocks disappear, new one appear with ...
Mikko Ohtamaa's user avatar
1 vote

"VM Exception while processing transaction: invalid opcode" only with Byzantium hardfork

IIRC, solc 0.5.17 is pre-Byzantium and you need to transition to 0.5.2? (not 100% sure which one). Perhaps a kind soul will chime in with the exact version cutoff or else check the release notes for ...
Rob Hitchens's user avatar
  • 55.6k
1 vote
Accepted

What happened in the Ropsten hardfork from Byzantium to Constantinople?

Problem have been solved over here Quoting nicksavers here The thing is that if you did a fast-sync of Geth >1.8.17 after the fork at block 4230605, it would have probably skipped the check on ...
Haseeb Saeed's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible