Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document some consensus-critical finalized state behaviour #2476

Merged
merged 2 commits into from
Jul 12, 2021

Conversation

teor2345
Copy link
Contributor

@teor2345 teor2345 commented Jul 9, 2021

Motivation

We need to update some state documentation for:

  • a new genesis consensus rule
  • RocksDB double-insert behaviour

Specifications

A transaction MUST NOT spend an output of the genesis block coinbase transaction.
(There is one such zero-valued output, on each of Testnet and Mainnet .)

https://zips.z.cash/protocol/protocol.pdf#txnconsensus

API Reference

A Put API inserts a single key-value to the database.
If the key already exists in the database, the previous value will be overwritten.

https://github.com/facebook/rocksdb/wiki/RocksDB-Overview#updates

Review

Anyone can review this PR, it's not urgent.

Reviewer Checklist

  • Comments match spec / API

teor2345 added 2 commits July 9, 2021 12:16
Zebra previously implemented this rule, but we documented it as a bug in
`zcashd`.
@teor2345 teor2345 added C-bug Category: This is a bug A-docs Area: Documentation A-consensus Area: Consensus rule updates P-Medium labels Jul 9, 2021
@teor2345 teor2345 requested a review from oxarbitrage July 9, 2021 02:24
@teor2345 teor2345 self-assigned this Jul 9, 2021
@oxarbitrage oxarbitrage merged commit 82696b1 into main Jul 12, 2021
@oxarbitrage oxarbitrage deleted the consensus-critical-docs branch July 12, 2021 20:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-consensus Area: Consensus rule updates A-docs Area: Documentation C-bug Category: This is a bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants