Allora. Устанавливаем воркер
CryptoFortochka — гайды, ноды, новости, тестнеты
Allora — это новая децентрализованная AI сеть с упором на Community
- Инвестировали: $33 750 000
- Инвесторы: Polychain Capital, Delphi Ventures, Blockchain Capital, и другие
- Характеристики: 2CPU/4GBRAM/5SSD — минимальные
- Арендовать сервер: XorekCloud, Pqhosting
- Чат и канал с поддержкой: https://t.me/fortochat / https://t.me/cryptoforto
Данный проект был добавлен в таблицу Retroactive
Напомню!, команда объявила об новом сезоне фарминге поинтов, который в последствие чего, будут конвертироваться в токены проекты
Также есть возможность поставить ноду валидатора и воркера. Но, так как это Comsos нода, попасть в валидаторский сет практически невозможно, особенно, если вы новичок, лучше поставить слабого воркера, за который будут награды
Расписал для вас понятный гайд с установкой ноды, ставиться просто, сервак советую брать (минимум как требуется в рекомендации), чтобы избежать дальнейшие траблы с синхронизацией
Сервер можно арендовать на XorekCloud за 399 рублей в месяц
Что делать?
- Для начало давайте начнем с фарминга поинтов
- Устанавливаем Keplr кошелек
- Отправляемся на сайт и коннектим Keplr кошелек
- Теперь идём к крану запрашиваем тестовые токены
Установка воркера. Подробная инструкция
Внимание, если вы ставите ноду с нуля, то начинайте с первого пункта
- Устанавливаем MobaXterm
- Подключаемся на арендованный сервер через root
- Выполняем команды по списку
- Обновляем и устанавливаем необходимые пакеты
- Если появится выбор при обновлении, тыкаем Enter и пишем Y
sudo apt update & 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
sudo apt install python3 python3 --version sudo apt install python3-pip pip3 --version
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
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
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
git clone https://github.com/allora-network/allora-chain.git
git clone https://github.com/allora-network/basic-coin-prediction-node cd basic-coin-prediction-node
Ставим базовую модель
Подмечу! Вы также можете создать свою определенную модель по этому пункту "Создание кастомной модели"
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=
cp config.example.json config.json nano config.json
- Удаляем все содержимое кнопка Cntr+K
- Вставляем этот текст, заменяем “your phase” на вашу сидку кеплера аккаунта
- “NodeRpc“ можете заменить на эти 4 Нужно выбрать одну из четырёх RPC
{ "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" } } ] }
chmod +x init.config ./init.config
docker compose pull docker compose up --build -d
docker logs -f worker
Важно понимать! Через некоторое время будут капать поинты, но, если мало или вообще не капают, то попробуйте поиграться с пунктом "Создание кастомной модели", она достаточно легкая, попробуйте нащупать ту самую рабочую модель
Устанавливаем скрипт на быструю замену RPC (быстрый способ)
docker compose down cd basic-coin-prediction-node nano script.py
import json import os import subprocess def update_config_json(new_node_rpc_url): config_file_path = 'config.json' # Проверяем, существует ли файл config.json if not os.path.exists(config_file_path): print(f'Error: Файл {config_file_path} не найден!') return try: # Читаем содержимое config.json with open(config_file_path, 'r') as file: config = json.load(file) # Обновляем поле "nodeRpc" внутри "wallet", если оно существует if 'wallet' in config and 'nodeRpc' in config['wallet']: config['wallet']['nodeRpc'] = new_node_rpc_url print(f'Обновлено "nodeRpc" внутри "wallet" на {new_node_rpc_url}') # Записываем обновленный JSON обратно в файл with open(config_file_path, 'w') as file: json.dump(config, file, indent=4) print('Изменения успешно сохранены в config.json.') except json.JSONDecodeError as e: print(f'Ошибка чтения JSON: {e}') except Exception as e: print(f'Произошла ошибка: {e}') def run_shell_command(command): try: subprocess.run(command, shell=True, check=True) print(f'Выполнена команда: {command}') except subprocess.CalledProcessError as e: print(f'Ошибка выполнения команды {command}: {e}') if __name__ == '__main__': new_node_rpc_url = input('Введите новую ссылку на RPC: ').strip() # Выполняем команды run_shell_command('docker compose down -v') update_config_json(new_node_rpc_url) run_shell_command('chmod +x init.config') run_shell_command('./init.config') run_shell_command('docker compose up -d') run_shell_command('docker logs -f worker')
python3 script.py
- Вписываем RPC, некоторые могут не работать, наша задача найти подходящий и во время её заменить, когда одна из них не валид
- Как запустите скрипт, пойдут логи, если мы видим ошибку с RPC, значит данная RPC, который вы вписали, она не рабочая, чтобы заменить, нажимаем Cntr + C, и вписываем команды снизу
- Также вписываем новую RPC и тыкаем Enter, снова пойдут логи, если нет ошибок с RPC, то все идеально
cd basic-coin-prediction-node python3 script.py
Устанавливаем кастомную модель
dadapter/api/source/Dockerfile adapter/api/source/requirements.txt adapter/api/source/main.py config.json
docker compose down
nano .env
Token
'ETH' (Ethereum) 'SOL' (Solana) 'BTC' (Bitcoin) 'BNB' (Binance Coin) 'ARB' (Arbitrum)
TRAINING_DAYS
Представляет количество дней исторических данных для использования в обучении
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
Должно быть EU или US
DATA_PROVIDER
Указывает поставщика данных для использования. Должен быть либо , 'Binance'
либо 'Coingecko'
CG_API_KEY
: Ваш ключ API Coingecko, требуется, если вы DATA_PROVIDER
установили 'coingecko'
- CG_API_KEY вы можете взять на сайте, выбрав бесплатный режим
chmod +x init.config ./init.config
docker compose up -d
Дополнительные команды для проверки логов
docker logs -f worker
docker stop worker-basic-eth-pred updater-basic-eth-pred head-basic-eth-pred inference-basic-eth-pred docker rm worker-basic-eth-pred updater-basic-eth-pred head-basic-eth-pred inference-basic-eth-pred docker rmi basic-coin-prediction-node-inference basic-coin-prediction-node-updater basic-coin-prediction-node-worker rm -rf basic-coin-prediction-node docker stop offchain_node offchain_source docker rm offchain_node offchain_source docker rmi allora-offchain-source docker rmi allora-offchain-node-node rm -rf allora-offchain-node rm -rf allora-chain docker rmi allora-offchain-node-source docker stop offchain_node offchain_source docker container prune docker image prune -a rm -rf allora-offchain-node rm -rf allora-chain rm -rf basic-coin