Closed bitphage closed 6 years ago
Please change 21 - to timeshare 11. Top only 10 witnesses, 11 - support witnesses. Max witnesses votes per account = 2.
Done, for witness votes I created a separate issue #8
Итак, у нас есть update_witness_schedule4, который после 4 ХФ работает как часы.
Создает active_witnesses, проходится по топ делегатам, по майнерам и по временным и пополняет его.
В основном active_witnesses.push_back( itr->owner) ;
Плюс добавляет временные списки, типа selected_voted.insert( itr->id );
, чтобы не допустить повторения делегатов из нескольких списков в очередь.
Я в начале думал переписать всю механику, но проще будет модифицировать лишь часть.
Внутри временных делегатов https://github.com/steemit/steem/blob/master/libraries/chain/witness_schedule.cpp#L160
Сделать заполнение другого массива.
А потом, когда идет составления уже очереди и модифицируется witness_schedule_object:
https://github.com/steemit/steem/blob/master/libraries/chain/witness_schedule.cpp#L272
Сделать обход двух массивов и чередовать их номер по каждому.
Это позволит не нарушать старую логику - изменить лишь сборщик очереди.
Our block generation plan is the following:
So, block producers queue should look like this:
https://github.com/steemit/steem/blob/master/libraries/chain/witness_schedule.cpp