Agoric - блокчейн первого уровня построенный на базе системы Cosmos. Особенностью проекта является возможность создания смарт-контрактов на языке JavaScript, что позволяет легко интегрировать разработчиков с Web2 в Web3 и быстро расширять экосистему. Нативный токен Agoric - BLD.
Минимальные требования:
16 GB RAM
4 cores/ vCPU
100 GB SSD
Ubuntu 20.04
Подготовка сервера:
Перед установкой ноды на сервер необходимо установить Node.js, Yarn, Go и обновить систему.
Установка ноды происходить при помощи сделанного ранее снимка. При желании или необходимости порты, сиды, минимальную цену газа и сами снимки можно заменить на собственные или общедоступные.
Клонируем репозиторий проекта
Устанавливаем Agoric Javascript пакеты
Интегрируем поддержку Agoric Cosmos SDK
Подготавливаем файлы для Cosmovisor
Создаем ссылки
Загружаем и устанавливаем Cosmovisor
Создаем сервис для запуска
Настраиваем конфигурации ноды
Инициализируем ноду
Вместо NODE_NAME вписываем название ноды
Загружаем файлы genesis и addrbook
Добавляем сиды
Устанавливаем минимальную цену газа
Добавляем альтернативные порты
Загружаем снимок сети
Запускаем ноду
Проверка и синхронизация
После установки ноде необходимо синхронизироваться.
Проверяем статус синхронизации
Если все установлено правильно, ответ будет подобным:
Конец синхронизации
Нода синхронизирована, когда "latest_block_height" догонит последний блок в сети. В тот момент "catching_up" сменится с true на false.
Для монтиринга можно использовать скрипт:
По завершению синхронизации в терминале будет написано "Caught up"
Проверка логов (при возникновении ошибок)
Добавление ключа
Для дальнейшей работы необходимо добавить ключи/кошельки.
Создание нового ключа
Меняем KEY_NAME на название вашего ключа. Добавляем пароль и сохраняем мнемоническую фразу.
Добавление имеющегося ключа
Проверка ключей
Делегация валидатору
Изменяем следующие параметры:
- OPERATOR_ADRESS - вписываем адрес валидатора, например адрес w3coins:
- AMOUNT - вписываем количество делегируемых токенов в значении ubld (1BLD = 1000000UBLD), например:
while sleep 5; do
sync_info=`agd status | jq .SyncInfo`
echo "$sync_info"
if test `echo "$sync_info" | jq -r .catching_up` == false; then
echo "Caught up"
break
fi
done