CodeChain-io / CodeChain-io/foundry

Organize validator set

Abierto
#560 0 comentarios 0 reacciones 0 asignados Ver en GitHub
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

Abrir la 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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.