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 ...
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, ...
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, σ)...
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 ...
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-...
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 ...
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 ...
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 ...
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 ...
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
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
byzantium × 14transactions × 5
receipts × 4
consensus × 3
solidity × 2
web3js × 2
ganache × 2
signature × 2
cryptography × 2
pairings × 2
truffle × 1
ether × 1
contract-deployment × 1
wallets × 1
json-rpc × 1
out-of-gas × 1
hardforks × 1
proof-of-work × 1
decentralization × 1
revert-opcode × 1
confirmations × 1
failed-transaction × 1
terminology × 1
jaxx × 1
state × 1