Files
dejo-node/internal/consensus/consensus.go
2025-05-23 10:44:32 -03:00

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
}