CodeChain-io / CodeChain-io/foundry
Organize validator set
- Lenguaje dominante
- Rust
- Estrellas
- 36
- Forks
- 11
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
## Types
Eventually, we will have only 3 types for validators.
1. `ctypes::Validator` - It has two fields: `public_key` and `weight`.
2. `ctypes::ValidatorSet` - It is a newtype of `Vec`, but it save it sorted, and provides methods to save to/load from state. Also, its hash will be directly written in block header.
3. `foundry_graphql_engine::Validator` GraphQL resolver for validator.
All other types will be completely removed. (`NextValidatorSet`, `CurrentValidatorSet`, `SimpleValidator`, `WeightOrderedValidators`, ...)
## Naming
Validators -> Validator set
delegation/deposit/ ... -> weight
## Next / Current
Both will be saved, but share same type `ValidatorSet`.
## Coordinator-Module interface
Will be asked to return only `Vec` as the validator set.
## Test
We have to add various e2e tests that involve multiple nodes + varying validator set.
Guía de contribución
Línea de trabajo
Comienza rastreando los usos de los tipos de validador mencionados (`ctypes::Validator`, `ctypes::ValidatorSet`, `foundry_graphql_engine::Validator`) y de la interfaz del módulo coordinador. Revisa cómo se almacenan y se calculan los hashes de los conjuntos de validadores actual y siguiente, y después identifica los puntos de entrada existentes para las pruebas end-to-end. El trabajo estará terminado cuando se eliminen los tipos de validador obsoletos, ambos conjuntos usen `ValidatorSet` y las pruebas multi-nodo cubran conjuntos de validadores variables.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- blockchain
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Necesita aclaración
- Aptitud para principiantes
- 18/100