Skip to content

Latest commit

 

History

History
289 lines (249 loc) · 9.91 KB

README.md

File metadata and controls

289 lines (249 loc) · 9.91 KB

Chainbase Testnete katılıyoruz ve AVS çalıştırıyoruz.

image

Website : Buradan

Discord : Buradan

Twitter : Buradan

Sistem Gereksinimleri şu şekilde.

image

1. AVS Operatör kurulumu başlatalım.

# Güncelleme ve Paketleri Yükleyelim
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

# Docker Kuralım
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

# Docker-Compose Kuralım
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

# Docker Kullanıcı İzni Verelim
sudo groupadd docker
sudo usermod -aG docker $USER

# Go Kuralım
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
  1. EigenLayer CLI Yükleyelim
curl -sSfL https://raw.githubusercontent.com/layr-labs/eigenlayer-cli/master/scripts/install.sh | sh -s

export PATH=$PATH:~/bin

eigenlayer --version
  1. Chainbase AVS repo Klonlayalım
git clone https://github.com/chainbase-labs/chainbase-avs-setup

cd chainbase-avs-setup/holesky
  1. Eigen için cüzdan oluşturalım a. Yeni key oluşturmak için bu adımlar takip edin.
# Bu adımda kodu girdikten sonra sizden şifre oluşturmanızı isteyecek Harfler, Rakamlar ve Sembollerden oluşturulması önerilir. Sonra çıktıdaki Private keyi yedekleyin.
eigenlayer operator keys create --key-type ecdsa wallet

BU ADIMA GEÇMEDEN ÖNCE Cüzdanı oluşturup yedeklerinizi kaydettikten sonra Holesky Test ağında adresinize en az 1 ETH göndermeniz gerekecek. Google üzerinden Holesky Faucet bulabilirsiniz.

  1. Ayarlar ve Operatör kaydını yapalım.
eigenlayer operator config create

Adımları aşağıdakiler gibi ilerleyerek gidelim

  • # operator address: Holesk ETH adresinizi girin.
  • # earnings address: Enter'e basın.
  • # ETH rpc url: https://ethereum-holesky-rpc.publicnode.com
  • # network: holesky
  • # signer type: local_keystore
  • # ecdsa key path:: /root/.eigenlayer/operator_keys/wallet.ecdsa.key.json
  1. Metadata'mızı açıp içerisini kopyalayalım ve 8. adım olan yere ekleyip Sunucumuzda metada'yı Ctrl X ile kapatalım.
nano metadata.json

Metada oluşturmak için resimleri takip edin.

GitHub üzerinden hesabınıza girin ve Sağ üstteki resminize tıklayın ve aşağıdaki adımları takip edin.

image image image image image image

  1. Operator.yaml dosyasını açalım ve gerekli düzenlemeleri yapalım.
nano operator.yaml

Metadata URL yazan kısma yukarıda yapmış olduğunuz Metadata klasörünüzün RAW linkini tırnakların içerisine ekleyelim ve el_delegation_manager_address: 0xA44151489861Fe9e3055d95adC98FbD462B948e7 olan yere de bu değeri girelim CTRL X - Y ENTER diyerek kaydedip çıkalım.

  1. Eigenlayer Holesky Nodu'muzu çalıştıralım. Register Succes çıktısı almamız gerekecek.
eigenlayer operator register operator.yaml

- Durumunu kontrol etmek için Aşağıdaki koddan bakabilirsiniz.

eigenlayer operator status operator.yaml

Metadata herhangi bir değişiklik yaptığınızda güncellemek için

eigenlayer operator update operator.yaml
  1. Chainbase AVS Yapılandıralım
# Eskisi varsa silelim
rm -rf .env

# Yenisini oluşturup içine girelim
nano .env

Aşağıdaki kodları içerisine ekleyip en aşağıdaki şifre kısmını düzenleyin ve CTRL X - Y ENTER yapıp kaydedin ve çıkın.

# Chainbase AVS Image
MAIN_SERVICE_IMAGE=repository.chainbase.com/network/chainbase-node:testnet-v0.1.7
FLINK_TASKMANAGER_IMAGE=flink:latest
FLINK_JOBMANAGER_IMAGE=flink:latest
PROMETHEUS_IMAGE=prom/prometheus:latest

MAIN_SERVICE_NAME=chainbase-node
FLINK_TASKMANAGER_NAME=flink-taskmanager
FLINK_JOBMANAGER_NAME=flink-jobmanager
PROMETHEUS_NAME=prometheus

# FLINK CONFIG
FLINK_CONNECT_ADDRESS=flink-jobmanager
FLINK_JOBMANAGER_PORT=8081
NODE_PROMETHEUS_PORT=9091
PROMETHEUS_CONFIG_PATH=./prometheus.yml

# Chainbase AVS mounted locations
NODE_APP_PORT=8080
NODE_ECDSA_KEY_FILE=/app/operator_keys/ecdsa_key.json
NODE_LOG_DIR=/app/logs

# Node logs configs
NODE_LOG_LEVEL=debug
NODE_LOG_FORMAT=text

# Metrics specific configs
NODE_ENABLE_METRICS=true
NODE_METRICS_PORT=9092

# holesky smart contracts
AVS_CONTRACT_ADDRESS=0x5E78eFF26480A75E06cCdABe88Eb522D4D8e1C9d
AVS_DIR_CONTRACT_ADDRESS=0x055733000064333CaDDbC92763c58BF0192fFeBf

###############################################################################
####### TODO: Operators please update below values for your node ##############
###############################################################################
# TODO: Operators need to point this to a working chain rpc
NODE_CHAIN_RPC=https://rpc.ankr.com/eth_holesky
NODE_CHAIN_ID=17000

# TODO: Operators need to update this to their own paths
USER_HOME=$HOME
EIGENLAYER_HOME=${USER_HOME}/.eigenlayer
CHAINBASE_AVS_HOME=${EIGENLAYER_HOME}/chainbase/holesky

NODE_LOG_PATH_HOST=${CHAINBASE_AVS_HOME}/logs

# TODO: Operators need to update this to their own keys
NODE_ECDSA_KEY_FILE_HOST=${EIGENLAYER_HOME}/operator_keys/wallet.ecdsa.key.json

# TODO: Operators need to add password to decrypt the above keys
# If you have some special characters in password, make sure to use single quotes
NODE_ECDSA_KEY_PASSWORD=Yukarıda+Oluşturduğunuz+Şifreyi+Giriniz

Docker-Compose klasörünü kendimize göre düzenleyelim.

# Eskiyi silelim
rm -rf docker-compose.yml

# Yenisini ekleyip açalım
nano docker-compose.yml

Aşağıdaki kodları içerisine ekleyip CTRL X - Y ENTER yapıp kaydedin ve çıkın.NOT : Portlar ile ilgili sorun yaşarsanız başlarındaki portları değiştirebilirsiniz.

services:
  prometheus:
    image: ${PROMETHEUS_IMAGE}
    container_name: ${PROMETHEUS_NAME}
    env_file:
      - .env
    volumes:
      - "${PROMETHEUS_CONFIG_PATH}:/etc/prometheus/prometheus.yml"
    command: 
      - "--enable-feature=expand-external-labels"
      - "--config.file=/etc/prometheus/prometheus.yml"
    ports:
      - "${NODE_PROMETHEUS_PORT}:9090"
    networks:
      - chainbase
    restart: unless-stopped

  flink-jobmanager:
    image: ${FLINK_JOBMANAGER_IMAGE}
    container_name: ${FLINK_JOBMANAGER_NAME}
    env_file:
      - .env
    command: jobmanager
    networks:
      - chainbase
    restart: unless-stopped

  flink-taskmanager:
    image: ${FLINK_JOBMANAGER_IMAGE}
    container_name: ${FLINK_TASKMANAGER_NAME}
    env_file:
      - .env
    depends_on:
      - flink-jobmanager
    command: taskmanager
    networks:
      - chainbase
    restart: unless-stopped

  chainbase-node:
    image: ${MAIN_SERVICE_IMAGE}
    container_name: ${MAIN_SERVICE_NAME}
    command: ["run"]
    env_file:
      - .env
    ports:
      - "${NODE_APP_PORT}:${NODE_APP_PORT}"
      - "${NODE_METRICS_PORT}:${NODE_METRICS_PORT}"
    volumes:
      - "${NODE_ECDSA_KEY_FILE_HOST:-./opr.ecdsa.key.json}:${NODE_ECDSA_KEY_FILE}"
      - "${NODE_LOG_PATH_HOST}:${NODE_LOG_DIR}:rw"
    depends_on:
      - prometheus
      - flink-jobmanager
      - flink-taskmanager
    networks:
      - chainbase
    restart: unless-stopped

networks:
  chainbase:
    driver: bridge

Docker için klasör oluşturalım

source .env && mkdir -pv ${EIGENLAYER_HOME} ${CHAINBASE_AVS_HOME} ${NODE_LOG_PATH_HOST}

İzinleri verelim

chmod +x ./chainbase-avs.sh

prometheus.yml klasörünü açın ve içerisindeki operator olan yere kendi adresinizi tırnakların içerisine ekleyin ve CTRL X - Y ENTER yapıp kaydedin çıkın

nano prometheus.yml
  1. Chainbase AVS çalıştıralım ve Registering olarak çıktımızı alıp devam edelim.
./chainbase-avs.sh register
  • AVS çalıştıralım
./chainbase-avs.sh run
  1. AVS durumunu kontrol etmek için
docker compose logs chainbase-node -f

AVS Linkinizi almanız için

export PATH=$PATH:~/bin

eigenlayer operator status operator.yaml

Operator sağlıgını kontrol etmek için

# Eğer Portunuz farklı ise değiştirin
curl -i localhost:8080/eigen/node/health

Bu FORMU Doldurun.

EN SON HOLESKY OPERATOR LİNKİNİZİ DİSCORD ÜZERİNDE OPERATOR-SUPPORT KANALINA GÖNDERİN.