I am reading the code implementation for clique POA algorithm(consensus/clique), and encountered this line of comment in consensus/clique/snapshot.go:

// uncast removes a previously cast vote from the tally.
func (s *Snapshot) uncast(address common.Address, authorize bool) bool {
    // If there's no tally, it's a dangling vote, just drop
    tally, ok := s.Tally[address]
    if !ok {
        return false

What is this 'dangling vote'? In what case does dangling vote created?

  • I think it is an artifact of geth implementation, if you try to 'uncast' a vote for a proposal that was already dismissed. It should not happen. – Ismael Aug 7 '19 at 19:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.