Установка

Обновляем пакеты системы

sudo apt update && sudo apt upgrade -y

Устанавливаем нужные программы

sudo apt-get install jq curl git mc nano gcc g++ make -y

Установим Golang версии 1.18

wget -O go1.18.linux-amd64.tar.gz https://go.dev/dl/go1.18.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz && rm go1.18.linux-amd64.tar.gz
cat <<'EOF' >> $HOME/.bash_profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
. $HOME/.bash_profile
cp /usr/local/go/bin/go /usr/bin
go version

Установим Rizon.

Актуальные релизы можно посмотреть тут https://github.com/rizon-world/rizon/tagsarrow-up-right

The built binary - rizond - will be located in your $GOBIN

В нашем случае это переменная с путём PATH=$PATH:/usr/local/go/bin:$HOME/go/bin

Зададим переменные для удобной работы

circle-info

Уточните актуальность chain-id тут https://github.com/rizon-world/mainnetarrow-up-right. На момент написания гайда chain-id = titan-1

Загрузим переменные. Как и для чего читайте [тут]arrow-up-right.

Инициализируем ноду

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

Если rizond уже был установлен

То надо очистить конфигурации.

[Init] Setup your initial node

Под $Rizon_moniker - мы вставили имя ноды, которое будет отображаться в explorer.

Chain id смотрим тут https://github.com/rizon-world/mainnetarrow-up-right

Меняем genesis.json

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

После инита ноды надо подгрузить его с гитхаба заменив genesis.json, который был создан при ините ноды, так как при rizond init был создан ложный genesis.json (сеть же запущена уже).

Надо загрузить его от сюда https://raw.githubusercontent.com/rizon-world/mainnet/master/genesis.jsonarrow-up-right и подменить им файл по адресу ~/.rizon/config/genesis.json чтобы присоединиться к mainnet.

Два способа. Выберите свой. Первый - закачаем wget, а затем заменим cp:

Второй - ещё проще. Одной командой, через curl:

Проверка checksum файла genesis.json:

Настройка Конфигурации ноды

Нужно изменить два конфигурационных файла, это app.toml and config.toml.

app.toml

minimum-gas-prices Для предотвращения обработки спамных транзакций надо выставить параметр minimum-gas-prices равным 0.0001uatolo:

config.toml

закомментируем строку log_level = "info" Это нужно чтобы прописать эту настройку в сервис файле для удобного изменения.

вставим в config.toml свой moniker

seeds; peers Добавьте как минимум 1 сид ноду, для того, чтобы ваша нода смогла найти остальные пиры. Seed пиры найдите по адресу https://github.com/rizon-world/mainnetarrow-up-right Это изменение проводим в секции [p2p], параметр seeds.

Запуск

rizond.service

Создадим сервис файл для автономной работы Rizond. Одной командой:

Замечу, что название сервис файла может быть другим, хоть сейчас это rizond.

А вот что мы не сможем изменить: rizond - это начало команды которое прописали разработчики в бинарный файл, это мы поменять не можем.

circle-info

Выше, при установке Rizon мы определились, что переменная с путём PATH=$PATH:/usr/local/go/bin:$HOME/go/bin Поэтому мы и указали такой путь в строке ExecStart.

circle-exclamation

Выбрать способ запуска синхронизации.

Есть 3 варианта:

1. Запуститься по snapshot

2. С помощью опции state sync

Комьюнти сервисы для бсныстрой синхронизации: - https://nodejumper.io/rizon/syncarrow-up-right - https://ping.pub/rizon/statesyncarrow-up-right

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

Запуститься по snapshot

Специально для синхронизации по snapshot не надо настраивать app.toml или config.toml, достаточно базовой настройки.

Но перед загрузкой снапшота надо очистить папку data и сделать unsafe-reset-all (это сбросит конфигурацию priv_validator_state)

После команды выше, мы остаемся в нужной нам папке cd ~/.rizon/data где и продолжим работу.

circle-info

Это не обязательный пункт. Если вы случайно удалили и не забекапили priv_validator_stat, ничего страшного - это всего лишь файл состояние (не ключ) создать его можно rizond init $Rizon_moniker --chain-id titan-1 И раз уж вы опять сделали init, надо проверить и возможно опять загрузить genesis.json!

Теперь загрузим snapshot с помощью wget (ресурс взят с сайта https://nodejumper.io/rizon/syncarrow-up-right):

Для начала установим программу для разархивации:

Этим мы скопируем на сервер снапшот, распакуем его и запустим вновь бинарный файл с помощью сервис файла:

Проверка синхронизации

Готово!

Запуститься по state sync

Для синхронизации по state sync надо настраивать app.toml .

Но перед этим надо: 1) очистить папку data, удалив все, кроме priv_validator_state.json 2) и сделать unsafe-reset-all (это сбросит конфигурацию priv_validator_state.json)

Теперь следуем указанием с одного из сайтов для быстрой синхронизации: 1 https://nodejumper.io/rizon/syncarrow-up-right 2 https://ping.pub/rizon/statesyncarrow-up-right

После того как отредактировали config.toml надо запустить сервис файл:

Если все сделать правильно, все будет ок.

Запустить синхронизацию с первого блока

Тут есть одна сложность. Чтобы начать синхронизацию с первого блока какой либо сети, надо установить версию бинарника, с которой была запущена эта сеть.

На данный момент mainnet сеть titan-1. Для этой сети первым релизом считается v0.2.8arrow-up-right.

Значит сначала переустановим Rizon (так как вначале мы установили v0.3.0):

Запустим сервис файл:

Ждем , когда синхронизация остановится. Это значит, что блокчейн догрузился до того блока, на котором произошло обновление версии блокчейна до следующей (в нашем случае с версии v0.2.8 до v0.3.0). Значит настало время обновить версию:

Запустим вновь:

Оптимизируем память

Создать аккаунт

Если вы впервые создаете кошелек, то нужна команда:

Если надо восстановить кошелек по seed фразе или файлу private key:

Создать валидатор

Проверим статус синхронизации, так как только После полной синхронизации можно приступать к созданию валидатора:

Если ответ false, значит нода синхронизирована. Отправим транзакцию:

Посмотреть, создался ли валидатор можно командой:

Полезные команы

Balance

Last updated