15 lines
551 B
Go
15 lines
551 B
Go
package consensus
|
|
|
|
import "dejo_node/internal/transactions"
|
|
|
|
// ConsensusEngine define a interface para algoritmos de consenso.
|
|
type ConsensusEngine interface {
|
|
// ValidateBlock verifica se o bloco atende aos critérios do consenso.
|
|
ValidateBlock(block *transactions.Block) error
|
|
|
|
// SelectProposer retorna o ID do validador responsável por propor o próximo bloco.
|
|
SelectProposer(height uint64) (string, error)
|
|
|
|
// FinalizeBlock aplica qualquer regra de finalização (ex: selar, assinar, etc).
|
|
FinalizeBlock(block *transactions.Block) error
|
|
} |