IRIS: вознаграждаемый тестнет Bifrost 2

IRIS: вознаграждаемый тестнет Bifrost 2

cyberomanov
Убедитесь, что имеете GitHub аккаунт старше, чем 2019/10/19.

РЕГИСТРАЦИОННАЯ ФОРМА

  1. Регистрируемся на Keybase.io. Для этого качаем приложение по ссылке для ПК. Устанавливаем, как обычную программу. Я буду показывать на примере windows-приложения.

2. Создаём аккаунт:

3. Вводим телефон и подтверждаем кодом из СМС.

4. Вводим свой никнейм от GitHub. Нас попросят создать файл "keybase.md" с уникальным текстом:

5. Жмём "Create gist now". Нас перебросят на GitHub, вставляем свой текст, называем файл "keybase.md" и меняем доступ на "Public gist":

Получили файл по типу: https://gist.github.com/romanoffmnogoznaet/4b7f8e46a97a0e8b687b1826304849e4

6. Возвращаемся в приложение, нажимаем "Check for it":

Супер, привязали GitHub к keybase.io:

7. Теперь создаём "PGP key":

Почту желательно указать из GitHub.

8. Заполняем форму и жмём "Let the math begin":

9. Ждём окончание процесса. Теперь в настройках жмём "Open keybase.io in web browser".

10. Переходим в свой профиль, жмём на "PGP key", копируем "fingerprint" и "64-bit". Сохраните их куда-нибудь.

11. Заполняем форму регистрации в тестнете.

Почту желательно указать из Github, PGP Fingerprint состоит из 16 символов.

АРЕНДА СЕРВЕРА И ЗАПУСК СЕССИИ В MOBAXTERM

Минимальные требования к оборудованию:
2 CPU
6GB RAM
256GB HDD
Ubuntu 16.04 и выше
  1. Арендуем сервер, записываем IP, пароль и логин от VPS.
Я лично покупаю здесь: vdsina.
При регистрации по моей ссылке 10% скидка на стоимость всех услуг.

2. Открываем MobaXterm и создаём сессию.

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

Пароль не будет отображаться, так и должно быть.

Отлично, авторизовались!

УСТАНОВКА НОДЫ

Команды выполняем по одной.
После каждой команды жмём "Enter".
  1. Создаём пользователя:
sudo adduser <your_own_username>
Вводим свои данные. Пароль снова не отображается, не пугайтесь.

2. Добавляем пользователю права администратора и заходим в учётную запись:

usermod -aG sudo <your_own_username>
su -l <your_own_username>

3. Устанавливаем "GO":

cd /usr/local
sudo wget https://golang.org/dl/go1.15.7.linux-amd64.tar.gz
(попросят ввести пароль, вводим пароль от учётной записи)
sudo apt -y install tar
sudo tar -C /usr/local -xzf go1.15.7.linux-amd64.tar.gz

4. Настраиваем переменные окружения:

export PATH=$PATH:/usr/local/go/bin
mkdir -p $HOME/go/bin
echo "export GOPATH=$HOME/go" >> ~/.bashrc
source ~/.bashrc
echo "export GOBIN=$GOPATH/bin" >> ~/.bashrc
source ~/.bashrc
echo "export PATH=$PATH:$GOBIN" >> ~/.bashrc
source ~/.bashrc

5. Проверим версию "GO" командой:

go version

6. Устанавливаем пару модулей (git, make, gcc, tmux, curl, jq):

sudo apt update
sudo apt -y install git make gcc tmux curl jq

7. Устанавливаем "Iris":

cd $HOME
git clone --branch v1.0.0-rc0 https://github.com/irisnet/irishub
cd irishub
make install CGO_ENABLED=0

8. Начнётся установка ноды. Проверяем версию после окончания установки:

iris version

9. Создаём ноду:

iris init <key_base_nickname>-<pgp_id_16> --chain-id=bifrost-2

Например, в моём случае команда выглядит так:

10. Скачиваем необходимые файлы:

это одна команда!
curl -o ~/.iris/config/config.toml https://raw.githubusercontent.com/irisnet/testnets/master/nyancat/config/config.toml
это одна команда!
curl -o ~/.iris/config/genesis.json https://raw.githubusercontent.com/irisnet/testnets/master/bifrost/phase-2/genesis.json

11. Редактируем файл конфига. Для тех, кто в "MobaXterm", находим в проводнике файл "config.toml" и открываем его с помощью текстового редактора. Дальше действия аналогичны гайду.

Для всех остальных:

nano $HOME/.iris/config/config.toml
Ищем строчку moniker = "CHANGE THIS TO YOUR MONIKER" и заменяем на своё значение "<keybase_nickname>-<pgp_key_16>".
Ищем строчку db_backend = "leveldb" и заменяем на "goleveldb".
Ищем строчку persistent_peers = "c87675bcaeb72a1f93dbf7d74f7b425690a994e3@34.80.202.172:26656" и заменяем на "a246f5ea3055f7507c63b9ea50dbf5d401537b3a@34.80.22.255:26656".

Должно получиться вот так:

Поменял строки местами в конфиге для наглядности, в своём файле оставляйте всё на своих местах, меняйте только значения.

12. Запускаем ноду с помощью "tmux" (шпаргалка по работе с "tmux"):

tmux new -s iris
Открылся пустой терминал с припиской "[iris]".

13. Включаем ноду:

iris start

Побежала синхронизация ноды:

Чтобы выйти из окна синхронизации:
Ctrl + 'B' - отпускаем - 'C' . Это создаст новое окно.
Раскладка клавиатуры должна быть 'ENG'
Чтобы включить старое окно, после закрытия программы MobaXterm:
Входим в своего пользователя:
su -l <your_own_username>
Открываем старое окно:
tmux attach -t iris

ЗАПУСКАЕМ ВАЛИДАТОРА

  1. Создаём кошелёк:
iris keys add secret_key
Вводим желаемый пароль (8 символов и больше), получаем такой вывод:
Обязательно сохраняем данные вывода.

2. Идём сюда и сюда. Пишем в чат аналогичное сообщение:

Ждём, пока админы накинут на кошелёк тестовых монет.
Смотреть за балансом кошелька можно здесь или выполнить команду:

iris query bank balances <address>

3. Пока админы спят, введите в терминал:

iris status | jq

Ищем значение "cathing_up".
Если False - нода синхронизировалась.
Если True - синхронизируется.

После того, как нода засинхронилась, токены пришли на кошелёк, начинаем создание валидатора.

4. Выполняем следующее:

Все строки - это одна команда.
Меняем только в строке "--moniker" на своё значение. Остальное не трогаем.
Но поэкспериментировать с комиссией не смертельно.
iris tx staking create-validator \
    --pubkey=$(iris tendermint show-validator) \
    --moniker=<keybase_nikcname>-<pgp_16_key> \
    --amount=21bif \
    --commission-rate=0.1 \
    --commission-max-rate=0.5 \
    --commission-max-change-rate=0.25 \
    --gas=1000000 \
    --fees=0.6bif \
    --chain-id=bifrost-2 \
    --from=secret_key \
    --min-self-delegation=1

5. Вводим пароль, подтверждаем транзакцию:

Если в выводе нашли подобный "raw_log", перезапустите ноду в окне "iris".

6. Если команда выполнилась без видимых ошибок, выполняем проверку:

iris status | jq

В выводе VotingPower должен быть больше нуля.
Это означает, что вы теперь Валидатор. Моё уважение.

7. Ищем себя в списке валидаторов.

Гордитесь собой. И мной тоже можно.

ЧТО ДЕЛАТЬ, ЕСЛИ ВЫПАЛ В КАНДИДАТЫ

Если вы перестали находиться в списке валидаторов, но при этом есть в списке кандидатов, необходимо заделегировать ещё немного bif'ов.

Список активных валидаторов формируется из первых 100 нод по убыванию стейка.

Заделегируем ещё немного токенов, дабы вернуться в валидаторы.

1. Находим свою ноду в списке кандидатов и копируем "Operator Address":

2. Входим в свою учётную запись:

su -l <your_own_username>

3. Выполняем команду:

2 строки - это одна команда. Вставляем свой адрес, желаемое количество токенов и файл, в котором хранятся наши ключи.
iris tx staking delegate <operator-address> <amount>bif --chain-id=bifrost-2 --from=<secret_key> --fees=0.6bif

Вводим пароль и подтверждаем транзакцию:

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

iris query staking validator <operator-address>

Как выйти из тюрьмы

  1. Входим в свою учётную запись:
su -l <your_own_username>

2. Выполняем команду unjail:

Заменить <secret_key> на файл, в котором лежат ключи.
Создавали файл на этапе запуска валидатора.
iris tx slashing unjail --chain-id=bifrost-2 --fees=0.1bif --from=<secret_key>

Задание #1: Голосование

1. Выполняем команду vote:

Заменить <secret_key> на файл, в котором лежат ключи.
Создавали файл на этапе запуска валидатора.
iris tx gov vote 3 yes --chain-id=bifrost-2 --from=<secret_key> --fees=0.1bif

Проверить результат можно здесь.

Задание #2: Обновление версии ноды от @Kwaskoff

1. Выполняем команды:

cd $HOME/irishub
git pull
git checkout 0ef5dd0b4d140a4788f05fc1a0bd409b3c6a0492
make install CGO_ENABLED=0
iris start
Проверить версию можно командой "iris version".
Должны получить вывод: "1.0.0-rc2-1-g0ef5dd0b"

Благодарности

мамичу за то, что родила такого гения.
Юджину и HeKit'y за помощь в составлении технической составляющей гайда.

Ссылки

Телеграм-канал @how_to_node, где я выкладываю свои гайды.
Телеграм-канал @crypto_watermelon, где мой товарищ выкладывает посты об интересных крипто-проектах и ивентах.

Поблагодарить автора

Крипто-кошельки автора.

Report Page