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

[multinode] Add Validator Set Realm / Package #1824

Closed
zivkovicmilos opened this issue Mar 25, 2024 · 0 comments · Fixed by #2130
Closed

[multinode] Add Validator Set Realm / Package #1824

zivkovicmilos opened this issue Mar 25, 2024 · 0 comments · Fixed by #2130
Assignees
Labels
📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related

Comments

@zivkovicmilos
Copy link
Member

Description

This effort covers the implementation of the Validator Set Realm in gno, that has a standard set management API. Validator sets should be managed by the 2/3+ majority of voting power.

An example of the API (not extensive):

  • GetSet() - returns the validator set
  • AddValidator(…) - adds a validator to the set
  • RemoveValidator(…) - removes a validator from the set

This effort is blocked by: #1823

Successful outcome of this effort:

  • A validator set Realm is created, with a standard set management API
  • The validator set Realm is predeployed on every chain initialization (genesis)
@zivkovicmilos zivkovicmilos added 📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related labels Mar 25, 2024
@Kouteki Kouteki moved this from Backlog to Todo in 🧙‍♂️gno.land core team Apr 2, 2024
@zivkovicmilos zivkovicmilos self-assigned this May 13, 2024
@Kouteki Kouteki moved this from Todo to In Progress in 🧙‍♂️gno.land core team May 15, 2024
@moul moul closed this as completed in #2130 Jul 2, 2024
@moul moul closed this as completed in f6ca518 Jul 2, 2024
@github-project-automation github-project-automation bot moved this from In Progress to Done in 🧙‍♂️gno.land core team Jul 2, 2024
gfanton pushed a commit to gfanton/gno that referenced this issue Jul 23, 2024
## Description

This PR introduces an initial validator set implementation in Gno (realm
based), as outlined in gnolang#1824.

It introduces a Proof of Contribution validator set management
mechanism, based on govdao proposals.
Related PRs:
- gnolang#1945 
- gnolang#2344 

I've left the door open to arbitrary protocol implementations.

~I've also added 2 example implementations:~
- ~PoS (Proof of Stake) - users can stake funds (`ugnot`) to become part
of the on-chain validator set~
- ~PoA (Proof of Authority) - new validators need to be voted in by the
majority of the existing validator set~

Update: I've moved the example PoS + PoA implementation to another
unrelated PR, since they are out of scope

Closes gnolang#1824

<details><summary>Contributors' checklist...</summary>

- [x] Added new tests, or not needed, or not feasible
- [x] Provided an example (e.g. screenshot) to aid review or the PR is
self-explanatory
- [x] Updated the official documentation or not needed
- [x] No breaking changes were made, or a `BREAKING CHANGE: xxx` message
was included in the description
- [x] Added references to related issues and PRs
- [ ] Provided any useful hints for running manual tests
- [ ] Added new benchmarks to [generated
graphs](https://gnoland.github.io/benchmarks), if any. More info
[here](https://github.com/gnolang/gno/blob/master/.benchmarks/README.md).
</details>

---------

Co-authored-by: Manfred Touron <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📦 🌐 tendermint v2 Issues or PRs tm2 related 📦 ⛰️ gno.land Issues or PRs gno.land package related
Projects
Development

Successfully merging a pull request may close this issue.

1 participant