-
Notifications
You must be signed in to change notification settings - Fork 120
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
Tracking: all the consensus parameters #565
Labels
A-consensus
Area: Consensus rule updates
C-cleanup
Category: This is a cleanup
C-tracking-issue
Category: This is a tracking issue for other tasks
Comments
(Moved to description, so we can track items on the checklist.) |
I think we want to interface to the consensus parameters using functions that takea a block height, and a network (mainnet, testnet, and maybe regtest). |
This was referenced Jul 31, 2020
@conradoplg @teor2345 I think this is redundant now, should we close it? |
Yep, we have all the parameters we need for now. |
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
C-cleanup
Category: This is a cleanup
C-tracking-issue
Category: This is a tracking issue for other tasks
Right now as part of equihash verification we've hard coded:
These types of constants should be centralized as much as possible to ease maintenance and make it easier to look up the consensus parameters that zebra uses. This type should probably be defined and instantiated in zebra-consensus.
Here are some other things we'll want in our consensus parameters:
hash difficulty settings
params.powLimit
)coinbase amount and halving intervals (Tracking Issue: Validate coinbase transactions, including the dev fund #801)
activation heights for consensus rule changes (Add the consensus branch ID and activation heights to the consensus parameters #716)
consensus branch IDs for network upgrades (Add the consensus branch ID and activation heights to the consensus parameters #716)
the hash of the genesis block (Check genesis hash in checkpoint lists #663)
the hash of the parent of the genesis block (Check genesis hash in checkpoint lists #663)
excluding the genesis transaction from UTXOs (parameter Add Genesis NU, Update Canopy NU Testnet Height #765, design rfc: Parallel Verification #763)
TODO: Zcash spec
TODO: zcashd
TODO: Bitcoin
It might be helpful to look at zcashd's chain and consensus parameters:
We might also need some parts of the network upgrade info:
To do some network integration tests (#466), we might need a "regression test" mode like zcashd. So we might end up with 3 sets of parameters.
Yeah, I think that we should think about how we want to represent consensus parameters, maybe in an object in
zebra-consensus
or something?Originally posted by @hdevalence in #550
The text was updated successfully, but these errors were encountered: