Контракты управления
Эта страница переведена сообществом на русский язык, но нуждается в улучшениях. Если вы хотите принять участие в переводе свяжитесь с @alexgton.
В TON параметры консенсуса работы узла, связанные с TVM, catchain, комиссиями и топологией цепи (а также то, как эти параметры хранятся и обновляются), контролируются набором специальных смарт-контрактов – в отличие от устаревших и негибких способов хардкода этих параметров, принятых в блокчейнах предыдущих поколений. Таким образом, TON реализует всеобъемлющее и прозрачное on-chain управление. Сам набор специальных смарт-контрактов регулируется параметрами, и в настоящее время включает в с ебя контракты Избирателя, Конфигурации, и DNS, а в будущем будет расширен за счет extra-currency Minter и др.
Избиратель
Смарт-контракт Elector (Избиратель) управляет тем, как раунды валидации сменяют друг друга, кто получает обязанность валидировать блокчейн и как будет распределяться вознаграждение за валидацию. Если вы хотите стать валидатором и взаимодействовать с избирателем, ознакомьтесь с инструкциями валидатора.
Избиратель хранит данные о невыведенных Toncoin в хешмапе credits, новые заявки – в хешмапе elect, а информацию о предыдущих выборах – в хешмапе past*elections, последняя хранится внутри complaints (жалоб на неправильную работу валидатора) и frozen-stakes* (замороженных ставок валидатора за уже завершенные раунды, к оторые удерживаются stake_held_for(ConfigParam 15)). Контракт Избирателя выполняет следующие задачи:
- Обработка заявок для проведения выборов валидаторов
- Проведение выборов
- Обработка отчетов о неправильной работе валидатора
- Распределение вознаграждений за валидацию
Обработка заявок
Чтобы создать заявку, будущий валидатор должен сформировать специальное сообщение, содержащее соответствующие параметры (адрес ADNL, публичный ключ, max_factor и т.д.), прикрепить его к некоторой сумме TON (называемой ставкой) и отправить Избирателю. Избиратель, в свою очередь, проверяет эти параметры и либо регистрирует заявку, либо сразу же возвращает ставку обратно отправителю. Обратите внимание, что заявки принимаются только с адресов на мастерчейне.