Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 1.
- sudo apt update && sudo apt upgrade -y
- sudo apt install ca-certificates zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev curl git wget make
- 2.
- sudo apt install python3
- 2.1
- sudo apt install python3-pip
- 3.
- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
- 3.1
- 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
- 3.2
- sudo apt-get update
- sudo apt-get install docker-ce docker-ce-cli containerd.io
- 4.
- sudo curl -L "https://github.com/docker/compose/releases/download/2.28.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
- sudo chmod +x /usr/local/bin/docker-compose
- 5.
- sudo groupadd docker
- sudo usermod -aG docker $USER
- 6.
- 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
- 7.
- git clone https://github.com/allora-network/allora-chain.git
- cd allora-chain && make all
- 8.
- allorad keys add testkey --recover
- 9.
- cd $HOME && git clone https://github.com/allora-network/basic-coin-prediction-node
- cd basic-coin-prediction-node
- mkdir worker-data
- mkdir head-data
- 10.
- sudo chmod -R 777 worker-data
- sudo chmod -R 777 head-data
- 11.
- 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)"
- 12.
- 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)"
- 13.
- cat head-data/keys/identity
- 14.
- apt install nano
- 15.
- rm -rf docker-compose.yml && nano docker-compose.yml
- 16.
- 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: 5s
- 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='WALLET_SEED_PHRASE' \
- --allora-node-rpc-address=https://allora-rpc.edgenet.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:
- 17.
- docker compose build
- docker compose up -d
- 18.
- docker ps
- 19.
- docker logs -f COINTERID
- 20.
- curl --location 'http://localhost:6000/api/v1/functions/execute' \
- --header 'Content-Type: application/json' \
- --data '{
- "function_id": "bafybeigpiwl3o73zvvl6dxdqu7zqcub5mhg65jiky2xqb4rdhfmikswzqm",
- "method": "allora-inference-function.wasm",
- "parameters": null,
- "topic": "1",
- "config": {
- "env_vars": [
- {
- "name": "BLS_REQUEST_PATH",
- "value": "/api"
- },
- {
- "name": "ALLORA_ARG_PARAMS",
- "value": "ETH"
- }
- ],
- "number_of_nodes": -1,
- "timeout": 2
- }
- }'
- 21.
- curl http://localhost:8000/update
- 22.
- curl http://localhost:8000/inference/ETH
- 23.
- cd $HOME
- cd basic-coin-prediction-node
- nano docker-compose.yml
- 24.
- docker compose build
- docker compose up -d
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement