Skip to content
HagarMeir edited this page May 19, 2019 · 15 revisions
Proposal {
    Payload []byte
    Header []byte
    Metadata []byte	
}

Consensus {
    ViewBuilder
    View
    ViewChanged(id int)
}


ViewBuilder {
    BuildView(id int, members []int, d Decider, vc ViewChanger) View
}

View {
    Propose(p Proposal) 
    OnReceive(m Message)
    Abort()
}

Decider {
    Decide(p Proposal, signatures []Signature)
}

ViewChanger {
    ChangeView(id int, members []int)
}

Signature {
    Id uint64
    Value []byte
}
Clone this wiki locally