Стэйкинг

По умолчанию у вашего валидатора не будет доли. Это означает, что он не сможет стать лидером.

Мониторинг наверстывания

Чтобы делегировать долю, сначала убедитесь, что ваш валидатор работает и догнал кластер. Может потребоваться некоторое время, чтобы наверстать упущенное после загрузки вашего валидатора. Используйте команду catchup для мониторинга вашего валидатора в ходе этого процесса:

solana catchup ~/validator-keypair.json

Пока ваш валидатор не подтянется, он не сможет успешно проголосовать и делегировать ему ставку.

Кроме того, если вы обнаружите, что слот кластера продвигается быстрее, чем ваш, вы, вероятно, никогда не догоните его. Обычно это подразумевает какую-то проблему с сетью между вашим валидатором и остальной частью кластера.

Создать пару ключей доли

Если вы еще этого не сделали, создайте пару ключей для ставок. Если вы выполнили этот шаг, вы должны увидеть «validator-stake-keypair.json» в каталоге среды выполнения Solana.

solana-keygen new -o ~/validator-stake-keypair.json

Делегировать ставку

Теперь делегируйте 1 SOL вашему валидатору, предварительно создав свою учетную запись:

solana create-stake-account ~/validator-stake-keypair.json 1

а затем делегировать эту долю вашему валидатору:

solana delegate-stake ~/validator-stake-keypair.json ~/vote-account-keypair.json

Не делегируйте оставшийся SOL, так как ваш валидатор будет использовать эти токены для голосования.

Ставки могут быть повторно делегированы другому узлу в любое время с помощью той же команды, но разрешено только одно повторное делегирование в каждую эпоху:

solana delegate-stake ~/validator-stake-keypair.json ~/some-other-vote-account-keypair.json

Предполагая, что узел голосует, теперь вы готовы к работе и генерируете вознаграждение валидатора. Награды выплачиваются автоматически на границах эпох.

Награды, полученные лампортами, распределяются между вашей учетной записью доли и учетной записью для голосования в соответствии с комиссией, установленной в учетной записи для голосования. Вознаграждения можно получить только тогда, когда валидатор запущен и работает. Кроме того, после стейкинга валидатор становится важной частью сети. Чтобы безопасно удалить валидатора из сети, сначала деактивируйте его стейк.

Ожидается, что в конце каждого слота валидатор отправит транзакцию голосования. Эти голосовые транзакции оплачиваются лампортами из учетной записи удостоверения личности валидатора.

Это обычная транзакция, поэтому будет применяться стандартная комиссия за транзакцию. Диапазон комиссии за транзакцию определяется блоком генезиса. Фактическая комиссия будет колебаться в зависимости от загрузки транзакции. Вы можете определить текущую комиссию через RPC API «getRecentBlockhash» перед отправкой транзакции.

Узнайте больше о комиссиях за транзакции здесь.

Разогрев доли валидатора

Чтобы бороться с различными атаками на консенсус, делегирование новых кольев подлежит разминке.

Следите за ставкой валидатора во время прогрева:

Отслеживайте свой стейкинг-валидатор

Подтвердите, что ваш валидатор становится лидером

  // Request
  curl -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1, "method":"getEpochInfo"}' http://localhost:8899

  // Result
  {"jsonrpc":"2.0","result":{"epoch":3,"slotIndex":126,"slotsInEpoch":256},"id":1}

Полезные методы JSON-RPC:

Деактивация ставки

Прежде чем отсоединить ваш валидатор от кластера, вы должны деактивировать ранее делегированный стейк, выполнив:

solana deactivate-stake ~/validator-stake-keypair.json

Ставка не деактивируется сразу, а вместо этого остывает так же, как разогревается. Ваш валидатор должен оставаться подключенным к кластеру, пока ставка остывает. Во время охлаждения ваша ставка будет продолжать приносить вознаграждение. Только после остывания стейка можно безопасно отключить валидатор или вывести его из сети. Перезарядка может занять несколько эпох, в зависимости от активной ставки и размера вашей ставки.

Обратите внимание, что учетную запись для ставок можно использовать только один раз, поэтому после деактивации используйте команду cli withdraw-stake для восстановления ранее поставленных лампортов.