Jsgenesis Testnet Council Endorsements
, here, which has the title of the corresponding election ID.VOTING_LOCK_ID
.CANDIDACY_LOCK_ID
.COUNCILOR_LOCK_ID
.BUDGET_PERIOD_LENGTH
blocks. The number of tokens added to the budget at the end of each such period is held in a mutable parameter denoted as budget_increment
.X > 0
-X
X > 0
+X
X > 0
-X
X > 0
-X
+budget_increment
NUMBER_OF_COUNCIL_SEATS
occupied by members, called councilors. The seats are always occupied, allowing the platform to dispose of all proposals they may come in at any time. The council body has two high level states described as follows.NORMAL_PERIOD_LENGTH
blocks have passed since this period started, a transition is made to the election stage.REWARD_PERIOD_LENGTH
blocks all councilors are paid out the same flat reward rate and any possibly outstanding owed reward. This rate is held in a mutable parameter, called the councilor reward, denoted as councilor_reward
. During this payout, where councilors are processed in some consistent order, the crediting only occurs while the budget constraint is respected. For each payout, the constraint is tightened. If a councilors cannot be paid out in full, then the difference is added to their owed reward. When a council period ends, any owed reward and outstanding reward from the last payout, are attempted paid out, however if the budget does not allow it, then the councilor suffers the loss.REQUIRED_CANDIDACY_STAKE
under the relevant council lock. If the candidacy fails - either because the election cycle fails or the candidate receives too few votes, then this lock can be removed by the candidate, otherwise it remains on into the councilorship.REQUIRED_CANDIDACY_STAKE
under the relevant council lock which is recoverable when councilorship ends.MINIUMUM_VOTING_STAKE
.NUMBER_OF_COUNCIL_SEATS
candidates receive at least one vote by the end of this period, a new election cycle starts. All candidates can recover their stake from such a failed cycle instantly, but it requires action, and anyone wanting to stand for the next election will need to announce again. Lastly, any outstanding owed reward is not carried over between different council.NUMBER_OF_COUNCIL_SEATS
fill-in
IDLE_PERIOD_LENGTH
fill-in
ANNOUNCING_PERIOD_LENGTH
fill-in
VOTING_PERIOD_LENGTH
fill-in
REVEALING_PERIOD_LENGTH
fill-in
REWARD_PERIOD_LENGTH
fill-in
BUDGET_PERIOD_LENGTH
fill-in
REQUIRED_CANDIDACY_STAKE
fill-in
MINIMUM_VOTING_STAKE
fill-in
MAX_SALT_LENGTH
fill-in
MINIMUM_CANDIDATES_COUNT
fill-in
VOTING_LOCK_ID
fill-in
CANDIDACY_LOCK_ID
fill-in
COUNCILOR_LOCK_ID
fill-in
membership_id
staking_account_id
reward_account_id
stake
membership_id
.membership_id
.staking_account_id
has enough balance to be locked as candidacy stake.staking_account_id
is associated with the member.stake
must be at least REQUIRED_CANDIDACY_STAKE
.stake
.membership_id
membership_id
.commitment
stake
staking_account_id
.staking_account_id
account has no associated vote for the current election cycle.staking_account_id
total balance no less than stake
.stake
must be at least MINIUMUM_VOTING_STAKE
.commitment
.salt
candidate_id
staking_account_id
which has vote in the current election cycle.salt
length is not higher than MAX_SALT_LENGTH
.candidate_id
__identifies a candidate in the current election.salt
and candidate_id
.staking_account_id
which has vote.candidate_id
candidate_id
.membership_id
note
membership_id
.