You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Logic:
The contract is consulted to get the list of validators for a certain block height.
New validators are proposed by anyone and voted on by the current set of validators. Validators are removed by proposing them with an end_block in the past. With every vote transaction the quorum (another contract member, settable as a fraction of the number of validators) is checked and if reached the validator is added/removed to the validator list. Also with every tx pending proposals are checked for voting_end_block.
Notes:
think about caching access to the validator set in the contract, since there are many requests to the validator set and looking it up in the contract is slow.
The text was updated successfully, but these errors were encountered:
Currently the list of validators is managed in the configuration.
Task:
Contract:
Stores
validators = Map(validator_address : (begin_block, end_block))
while
last_block
can be zero if validation does not expireproposals = Map(validator_address : (begin_block, end_block, voting_end_block))
proposal_votes Map(validator_address : [votes])
Logic:
The contract is consulted to get the list of validators for a certain block height.
New validators are proposed by anyone and voted on by the current set of validators. Validators are removed by proposing them with an
end_block
in the past. With every vote transaction thequorum
(another contract member, settable as a fraction of the number of validators) is checked and if reached the validator is added/removed to the validator list. Also with every tx pending proposals are checked forvoting_end_block
.Notes:
The text was updated successfully, but these errors were encountered: