Gm, yeni bir Node Point > All ile buluşuyoruz.
Allora'nın worker/price bot'unu kuruyoruz bugün.
Benzer içerikler sohbetler ve güncellemler için telegramdayız.
Açıkcası ben sunucu almadım, airchains station'umun içine kurdum.
Yinede donanım olarak minimum
2 CPU 4 RAM
iyidir.
# sunucu güncellememiz
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
sudo apt install python3-pip
# Dockeri yükleyelim
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
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
sudo groupadd docker
sudo usermod -aG docker $USER
# go kurulumu
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
# allora kurulumu
git clone https://github.com/allora-network/allora-chain.git
cd allora-chain && make all
# cüzdan oluşturma
allorad keys add CÜZDAN_İSMİ
# cüzdanınıza bir isim veriniz
# cüzdan import için
allorad keys add CÜZDAN_İSMİ --recover
ardından önceden aldığınız 24 kelimeyi giriniz
Akabinde keplr'a 24 kelimenizi import ediniz
Allora ağını keplr'a buradan ekleyelim.
Allora dashboard'a buradan bağlanıyoruz.
Allora cüzdanımıza token buradan alıyoruz. Sıraya alıp gönderme yapabiliyor. Direkt token gelmeyebiliyor.
cd $HOME
git clone https://github.com/allora-network/basic-coin-prediction-node
cd basic-coin-prediction-node
# dosyaları oluşturalım
mkdir worker-data
mkdir head-data
# dosya izinleri
sudo chmod -R 777 worker-data
sudo chmod -R 777 head-data
# head keyimizi oluşturalım
sudo docker run -it --entrypoint=bash -v ./head-data:/data alloranetwork/allora-inference-base:latest -c "mkdir -p /data/keys && (cd /data/keys && allora-keys)"
# worker keyimizi oluşturalım
sudo docker run -it --entrypoint=bash -v ./worker-data:/data alloranetwork/allora-inference-base:latest -c "mkdir -p /data/keys && (cd /data/keys && allora-keys)"
Bu komut ile head keyimzi alacağız.
cat head-data/keys/identity
Çıktının sonu root kısmı ile birleşik gelebilir kopyalarken dikkat edelim.
Keyimizi saklayalım lütfen.
# docker-compose.yml temizleyeliim
rm -rf docker-compose.yml
# yeni docker-compose.yml oluşturacağız alttaki komutla
nano docker-compose.yml
Alttaki kod bloğunu direkt sunucumuza komple yapıştıralım
ve henüz kaydetmeden bu reponun aşağısına gidelim.
version: '3'
services:
inference:
container_name: inference-basic-eth-pred
build:
context: .
command: python -u /app/app.py
ports:
- "8000:8000"
networks:
eth-model-local:
aliases:
- inference
ipv4_address: 172.22.0.4
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/inference/ETH"]
interval: 10s
timeout: 10s
retries: 12
volumes:
- ./inference-data:/app/data
updater:
container_name: updater-basic-eth-pred
build: .
environment:
- INFERENCE_API_ADDRESS=http://inference:8000
command: >
sh -c "
while true; do
python -u /app/update_app.py;
sleep 24h;
done
"
depends_on:
inference:
condition: service_healthy
networks:
eth-model-local:
aliases:
- updater
ipv4_address: 172.22.0.5
worker:
container_name: worker-basic-eth-pred
environment:
- INFERENCE_API_ADDRESS=http://inference:8000
- HOME=/data
build:
context: .
dockerfile: Dockerfile_b7s
entrypoint:
- "/bin/bash"
- "-c"
- |
if [ ! -f /data/keys/priv.bin ]; then
echo "Generating new private keys..."
mkdir -p /data/keys
cd /data/keys
allora-keys
fi
# Change boot-nodes below to the key advertised by your head
allora-node --role=worker --peer-db=/data/peerdb --function-db=/data/function-db \
--runtime-path=/app/runtime --runtime-cli=bls-runtime --workspace=/data/workspace \
--private-key=/data/keys/priv.bin --log-level=debug --port=9011 \
--boot-nodes=/ip4/172.22.0.100/tcp/9010/p2p/head-id \
--topic=allora-topic-1-worker \
--allora-chain-key-name=testkey \
--allora-chain-restore-mnemonic='24 KELIME BURAYA' \
--allora-node-rpc-address=https://allora-rpc.testnet-1.testnet.allora.network/ \
--allora-chain-topic-id=1
volumes:
- ./worker-data:/data
working_dir: /data
depends_on:
- inference
- head
networks:
eth-model-local:
aliases:
- worker
ipv4_address: 172.22.0.10
head:
container_name: head-basic-eth-pred
image: alloranetwork/allora-inference-base-head:latest
environment:
- HOME=/data
entrypoint:
- "/bin/bash"
- "-c"
- |
if [ ! -f /data/keys/priv.bin ]; then
echo "Generating new private keys..."
mkdir -p /data/keys
cd /data/keys
allora-keys
fi
allora-node --role=head --peer-db=/data/peerdb --function-db=/data/function-db \
--runtime-path=/app/runtime --runtime-cli=bls-runtime --workspace=/data/workspace \
--private-key=/data/keys/priv.bin --log-level=debug --port=9010 --rest-api=:6000
ports:
- "6000:6000"
volumes:
- ./head-data:/data
working_dir: /data
networks:
eth-model-local:
aliases:
- head
ipv4_address: 172.22.0.100
networks:
eth-model-local:
driver: bridge
ipam:
config:
- subnet: 172.22.0.0/24
volumes:
inference-data:
worker-data:
head-data:
sunuc içersinde ctrl w ile aratarak
head-id
ve24 KELIME BURAYA
kısımlarını değiştirelim.
head-id cat komutumuz ile almıştık, 24 kelimeyi cüzdanı oluştururken aldık.
Akabinde CTRL X Y ENTER ile kaydetip çıkalım.
docker compose build
docker compose up -d
docker ps
ile aratıp node-worker'imizin container id'iyi alalım.
docker ps
ile arattığınızda node-worker çıkmıyorsadocker ps -a
ile deneyin.
docker logs -f container_id
komutunu düzenleyip aratalım.
Success çıktımızı aldıysak tebrikler.
Allora puanlarımız her gün güncellenerek buraya yansıyacaktır.