Создание Валидатора

Перед созданием валидатора необходимо установить ноду, дождаться её полной синхронизации с блокчейном, настроить консольный интерфейс plancoincli, и создать кошелек (ключ). После создания кошелька необходимо перевести на него монеты PLAN - текущий минимальный порог для создания валидатора составляет 1000 PL.

Добавление в список активных валидаторов

Сначала необходимо получить pubkey Вашей ноды, делается это командой plancoind tendermint show-validator

:~# plancoind tendermint show-validator
planconsopenpub1zcjduepq7pp5r2qdvymmlymcmhvq43dzn66ekgdpkle742wrzzcl8tx09h2q46qz8v

Затем отправляем транзакцию создания валидатора:

plancoincli tx staking create-validator --chain-id plancoin-2 --amount 1000000000plan --from "example" --moniker "NeW Validator" --pubkey planconsopenpub1zcjduepq7pp5r2qdvymmlymcmhvq43dzn66ekgdpkle742wrzzcl8tx09h2q46qz8v --details "Что-нибудь о себе" --min-self-delegation 1000000000 --commission-rate "0.2" --commission-max-rate "0.2" --commission-max-change-rate "0.01"

Рассмотрим все значения команды:

amount - количество монет, которые вы хотите самоделегировать себе, оно не должно быть меньше 1000. Также как и в прошлых примерах указывается сумма * 1000000, т.е. 1000plan будет 1000000000plan

from - имя локального ключа. В нашем примере это example.

moniker - уникальное имя на английском языке, под которым вас будет видно в списке валидаторов.

pubkey - публичный ключ вашей ноды.

details - краткое описание вашего валидатора.

min-self-delegation - минимальная сумма, которая должна быть самоделегирована от лица валидатора. Если количество самделегированных монет падает ниже этой суммы, валидатор становится неактивным.

commission-rate - процент прибыли, который валидатор получает с суммы наград своих делегаторов. В нашем примере это 20% (0.2) и означает, что перед отдачей делегаторам прибыли, валидатор отнимает от нее 20% в свою пользу.

commission-max-rate - максимально возможная комиссия валидатора.

commission-max-change-rate - на сколько процентов валидатор может изменить свою комиссию в течение 1 суток.

Если все сделано правильно, после ввода команды интерфейс запросит пароль для подписи транзакции, и она уйдет в блокчейн.

Теперь вы стали валидатором!

Проверка статуса валидатора

Существует два способа проверить статус валидатора, первый - открыть вкладку "Validators" в Эксплорере и найти валидатора в списке, или выполнить команду plancoincli query staking validators и найти себя в списке.

В случае, если вы находитесь в списке «Неактивен» или видите "jailed": true у своего аккаунта, это означает, что валидатор был помещен в "тюрьму" за пропуск блоков или другие нарушения в работе. При пропущенных блоках, время нахождения в тюрьме занимает 1 минуту и снимает 1% от поставленных на стек монет.

Выход из тюрьмы

Сначала нужно получить информацию, до какого времени вы находитесь в тюрьме, это делается командой: plancoincli query slashing signing-info {результат команды plancoind tendermint show-validator}

:~# plancoincli query slashing signing-info planconsopenpub1zcjduepq7pp5r2qdvymmlymcmhvq43dzn66ekgdpkle742wrzzcl8tx09h2q46qz8v
{
  "address": "planconsopen1g44alhaxl35h8gjf3gtzscse7yncjx7e7zgg58",
  "start_height": "8444",
  "index_offset": "155654",
  "jailed_until": "2020-11-23T13:04:57.402604739Z",
  "tombstoned": false,
  "missed_blocks_counter": "92"
}

Поле jailed_until говорит о том, что валидатор будет в тюрьме до 2020-11-23 04:57 по UTC.

Теперь необходимо выяснить самоделегированный баланс, делается это командой: plancoincli query staking validator {адрес валидатора с planvaloper}

:~# plancoincli query staking validator planvaloper1gtu2x44p4r7c4h2hd7aswk500u54d2huk2mgzs
{
  "operator_address": "planvaloper1gtu2x44p4r7c4h2hd7aswk500u54d2huk2mgzs",
  "consensus_pubkey": "planconsopenpub1zcjduepq7pp5r2qdvymmlymcmhvq43dzn66ekgdpkle742wrzzcl8tx09h2q46qz8v",
  "jailed": true,
  "status": 2,
  "tokens": "990000000",
  "delegator_shares": "990000000.000000000000000000",
  "description": {
    "moniker": "NeW Validator",
    "identity": "",
    "website": "",
    "security_contact": "",
    "details": "Что-нибудь о себе"
  },
  "unbonding_height": "0",
  "unbonding_time": "1970-01-01T00:00:00Z",
  "commission": {
    "commission_rates": {
      "rate": "0.200000000000000000",
      "max_rate": "0.200000000000000000",
      "max_change_rate": "0.010000000000000000"
    },
    "update_time": "2020-12-05T18:54:04.544333352Z"
  },
  "min_self_delegation": "1000000000"
}

Нас интересует поле "delegator_shares" - если оно меньше "min_self_delegation", то необходимо делегировать себе недостающее кол-во монет перед отправкой транзакции unjail. В примере выше, у валидатора 990 plan (990000000/1000000000) и ему нужно самоделегировать еще 10 plan.

Делегирование монет

Делегирование выполняется командой:

plancoincli tx staking delegate {адрес валидатора с planvaloper} {amount}plan --from {keyname} --gas auto --gas-adjustment 1.5

Возвращение в список активных валидаторов

Если время тюремного заключения закончилось и у Вас делегировано достаточное кол-во монет, можно отправить unjail транзакцию:

plancoincli tx slashing unjail --from {keyname}

После чего потребуется ввести локальный пароль от ключа и транзакция уйдет в сеть.

На этом наш туториал завершен!