🟢 Активные ноды / Active nodes
October 23

Allora. Нода

Allora — это децентрализованная платформа, ориентированная на создание и управление цифровыми активами с использованием технологий блокчейна. Она позволяет пользователям безопасно создавать, хранить, передавать и торговать активами, включая токены и NFT, а также взаимодействовать с различными приложениями DeFi (децентрализованного финансирования).

Основная цель Allora — предоставить простые и безопасные инструменты для управления активами и участия в блокчейн-экономике.

Инвестировали: $33 750 000

Инвесторы: Polychain Capital, Delphi Ventures, Blockchain Capital, и другие

Соцсети: Twitter, Discord

Характеристики: 2CPU/4GBRAM/5SSD — минимальные

Арендовать сервер: Hetzner, Contabo

Операционная сеть: Ubuntu 22.04

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


Подготовка к установке:

  • Скачиваем и устанавливаем Termius
Для Windows - тут
Для macOS - тут
  • Арендуем север (рекомендую всем начинать свой путь с Hetzner - на нем лучшее соотношение цены и качества, а также зарегистрируясь по рефке вы получите 20€ на свой аккаунт, которые сможете использовать для оплаты серверов. Гайд по аренде сервера на Hetzner.
  • Открываем Termius и жмём New Host
  • Откроется панель для ввода данных, где нам понадобится ввести IP который предоставит нам провайдер после аренды сервера в строке "IP or Hostname"; Любое название, которое вам нравится в "Label"; в строке "Username" вводим root, в строке "Password" вводим выданный пароль:
  • После этого жмем стрелку справа вверху:
  • И наконец-то подключаемся к серверу:

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

  • Создаем новый Cosmos кошелек (тот, что в Keplr);
  • Переходим по ссылке и подключаем кошелек;
  • Открываем кран и запрашиваем тестовые токены.

Приступим к установке:

1. Обновление системы:

sudo apt-get update -y && sudo apt upgrade -y
sudo apt install ca-certificates zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev curl git wget make jq build-essential pkg-config lsb-release libssl-dev libreadline-dev libffi-dev gcc screen unzip lz4 -y

2. Устанавливаем Python3

sudo apt install python3
python3 --version

sudo apt install python3-pip
pip3 --version

3. Устанавливаем Docker

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
docker version

4. Устанавливаем Docker-Compose

VER=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d '"' -f 4)

curl -L "https://github.com/docker/compose/releases/download/"$VER"/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose
docker-compose --version
sudo groupadd docker
sudo usermod -aG docker $USER

5. Устанавливаем GO

sudo rm -rf /usr/local/go
curl -L https://go.dev/dl/go1.22.4.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile
echo 'export PATH=$PATH:$(go env GOPATH)/bin' >> $HOME/.bash_profile
source .bash_profile
go version

6. Устанавливаем Allorad: Wallet

git clone https://github.com/allora-network/allora-chain.git

7. Клонируем репозиторий

git clone https://github.com/allora-network/basic-coin-prediction-node
cd basic-coin-prediction-node

8. Настраиваем свой .env

apt install nano
cp .env.example .env
nano .env
  • Ставим такие значение предварительно отредактировать при желании. Сначала прочитай объяснения под значениями
TOKEN=ETH
TRAINING_DAYS=30
TIMEFRAME=4h
MODEL=SVR
REGION=US
DATA_PROVIDER=binance
CG_API_KEY=
ОБЪЯСНЕНИЯ:
Token
В пункте Token нужно указать используемый токен криптовалюты. Должен быть одним из следующих
'ETH' (Ethereum)
'SOL' (Solana)
'BTC' (Bitcoin)
'BNB' (Binance Coin)
'ARB' (Arbitrum)
TRAINING_DAYS
Представляет количество дней исторических данных для использования в обучении
Должно быть целым числом, большим или равным 1
TIMEFRAME
Определяет временные рамки данных, используемых в формате 10min(минуты), 1h(часы), 1d(дни) и т. д
Coingecko
Для Coingecko гранулярность данных (тело свечи) является автоматической. Чтобы избежать уменьшения масштаба при использовании Coingecko
Используйте TIMEFRAME >= 30 мин, если TRAINING_DAYS <= 2.
Используйте TIMEFRAME >= 4 ч, если TRAINING_DAYS <= 30.
Используйте TIMEFRAME >= 4 дн., если TRAINING_DAYS >= 31.
MODEL
Указывает модель машинного обучения для использования. Должен быть одним из следующих
«Линейная регрессия»
«SVR» (регрессия опорных векторов)
«KernelRidge»
«BayesianRidge»
REGION
Определяет регион для API Binance. Должен быть 'EU'или 'US'
Должно быть EU или US
DATA_PROVIDER
Указывает поставщика данных для использования. Должен быть либо , 'Binance'либо 'Coingecko'
CG_API_KEY: Ваш ключ API Coingecko, требуется, если вы DATA_PROVIDERустановили 'coingecko'
CG_API_KEY вы можете взять на сайте, выбрав бесплатный режим
  • После того, как отредактировали свой .env - нажимаем CTRL X, затем Y и Enter. Таким образом мы сохранили данный файл.

9. Настраиваем свой config.json

cp config.example.json config.json
nano config.json
  • Удаляем все содержимое кнопками Ctrl K
  • Вставляем этот текст, заменяем “your phase” на вашу сид фразу кеплер кошелька, который создавали в начале.
  • "Token": "ETH" - ETH меняем в случае, если меняли в пункте 8.
{
    "wallet": {
        "addressKeyName": "YourWalletName",
        "addressRestoreMnemonic": "YourSeedPhrase",
        "alloraHomeDir": "",
        "gas": "auto",
        "gasAdjustment": 1.5,
        "nodeRpc": "https://allora-rpc.testnet.allora.network/",
        "maxRetries": 1,
        "delay": 1,
        "submitTx": true
    },
    "worker": [
        {
            "topicId": 1,
            "inferenceEntrypointName": "api-worker-reputer",
            "loopSeconds": 2,
            "parameters": {
                "InferenceEndpoint": "http://inference:8000/inference/{Token}",
                "Token": "ETH"
            }
        },
        {
            "topicId": 2,
            "inferenceEntrypointName": "api-worker-reputer",
            "loopSeconds": 4,
            "parameters": {
                "InferenceEndpoint": "http://inference:8000/inference/{Token}",
                "Token": "ETH"
            }
        },
        {
            "topicId": 7,
            "inferenceEntrypointName": "api-worker-reputer",
            "loopSeconds": 6,
            "parameters": {
                "InferenceEndpoint": "http://inference:8000/inference/{Token}",
                "Token": "ETH"
            }
        }
    ]
}
  • Нажимаем CTRL X, затем Y и Enter. Таким образом мы сохранили данный файл.
  • Инициализируем воркера
chmod +x init.config
./init.config
  • Запускаем воркера
docker compose pull
docker compose up --build -d
  • Смотрим логи
docker logs -f worker

Дополнительные команды:

  • Смотрим логи:
docker logs -f worker --tail=50
  • Удалить ноду:
docker stop worker updater inference
docker rm worker updater inference
rm -rf basic-coin-prediction-node
rm -rf allora-offchain-node
rm -rf allora-chain


Данная статья была написана для канала KeepItTrading