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

feature: Add support for full Vochain genesis from JSON #339

Open
ed255 opened this issue Nov 2, 2021 · 1 comment
Open

feature: Add support for full Vochain genesis from JSON #339

ed255 opened this issue Nov 2, 2021 · 1 comment

Comments

@ed255
Copy link
Contributor

ed255 commented Nov 2, 2021

Currently the Vochain genesis has 2 parts: vochain specific, and tendermint genesis.
The node supports loading a genesis from a json file, but only the tendermint genesis! This means that when using an external genesis we can't define the vochain specific genesis parameters.

For the anonymous voting feature we introduced a field in the vochain genesis for circuit parameters, and this can be defined when using an external genesis. As a temporary solution I'll update the node to use the dev chain circuit paremeters when using an external genesis, but this is not ideal: this limits using the node with an external genesis for testing only.

Ideally we should be able to pass a full vochain genesis externally.

@ed255
Copy link
Contributor Author

ed255 commented Nov 2, 2021

Another point: the circuit parameters may require updating in the future once the chain is already started. Changing the genesis for a running chain is not desired, so we should store the circuit parameters in the StateDB, starting with the ones found in the genesis, and with the possibility of updating them via an AdminTx.

ed255 added a commit that referenced this issue Nov 2, 2021
- Fix genProof in census handler for Poseidon Census (use key as expected tree value)
- Return CircuitIndex in getProcessCircuitConfig
- Add API endoint getProcessRollingCensusSize, which returns the rolling census
  size of a process even before the StartBlock.  Useful for testing (to verify
  that all the pre-registers have been accounted for).
- When using an external Genesis, as a workaround use the internal "dev"
  genesis CircuitsConfig.  This will be updated once
  #339 is resolved.
- Add RollingCensusRoot to the Process in the Scrutinizer
ed255 added a commit that referenced this issue Nov 2, 2021
- Fix genProof in census handler for Poseidon Census (use key as expected tree value)
- Return CircuitIndex in getProcessCircuitConfig
- Add API endoint getProcessRollingCensusSize, which returns the rolling census
  size of a process even before the StartBlock.  Useful for testing (to verify
  that all the pre-registers have been accounted for).
- When using an external Genesis, as a workaround use the internal "dev"
  genesis CircuitsConfig.  This will be updated once
  #339 is resolved.
- Add RollingCensusRoot to the Process in the Scrutinizer
ed255 added a commit that referenced this issue Nov 2, 2021
- Fix genProof in census handler for Poseidon Census (use key as expected tree value)
- Return CircuitIndex in getProcessCircuitConfig
- Add API endoint getProcessRollingCensusSize, which returns the rolling census
  size of a process even before the StartBlock.  Useful for testing (to verify
  that all the pre-registers have been accounted for).
- When using an external Genesis, as a workaround use the internal "dev"
  genesis CircuitsConfig.  This will be updated once
  #339 is resolved.
- Add RollingCensusRoot to the Process in the Scrutinizer
ed255 added a commit that referenced this issue Nov 2, 2021
- Fix genProof in census handler for Poseidon Census (use key as expected tree value)
- Return CircuitIndex in getProcessCircuitConfig
- Add API endoint getProcessRollingCensusSize, which returns the rolling census
  size of a process even before the StartBlock.  Useful for testing (to verify
  that all the pre-registers have been accounted for).
- When using an external Genesis, as a workaround use the internal "dev"
  genesis CircuitsConfig.  This will be updated once
  #339 is resolved.
- Add RollingCensusRoot to the Process in the Scrutinizer
p4u pushed a commit that referenced this issue Nov 4, 2021
- Fix genProof in census handler for Poseidon Census (use key as expected tree value)
- Return CircuitIndex in getProcessCircuitConfig
- Add API endoint getProcessRollingCensusSize, which returns the rolling census
  size of a process even before the StartBlock.  Useful for testing (to verify
  that all the pre-registers have been accounted for).
- When using an external Genesis, as a workaround use the internal "dev"
  genesis CircuitsConfig.  This will be updated once
  #339 is resolved.
- Add RollingCensusRoot to the Process in the Scrutinizer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant