NODE TİPİ | CPU | RAM | SSD |
---|---|---|---|
Gasp | 2 | 4 | 40 |
sudo apt-get update -y && sudo apt-get upgrade -y
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg git
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
echo \
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update -y && sudo apt upgrade -y
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
ver="1.21.6"
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz"
rm "go$ver.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version
git clone https://github.com/Layr-Labs/eigenlayer-cli.git
cd eigenlayer-cli
mkdir -p build
go build -o build/eigenlayer cmd/eigenlayer/main.go
cd
sudo cp eigenlayer-cli/build/eigenlayer /usr/local/bin/
Kapalı parantez dahil,
<key-ismi>
değiştirin, <> parantezleri kaldırın.
eigenlayer operator keys create --key-type ecdsa <key-ismi>
Bu komuttan sonra şifre oluşturmanızı isteyecek, şifre karmaşık olmalı. Aynı şifreyi iki kere gireceğiz.
ecdsa
KEY bize birEVM
adresi,private key
ve dosyapath
(yolu) verecek
Buradaki bilgiler sizde de benzer şekilde çıkacak güvenli şekilde saklayın.
Kapalı parantez dahil,
<key-ismi>
değiştirin, <> parantezleri kaldırın.
eigenlayer operator keys create --key-type bls <key-ismi>
Bu komuttan sonra şifre oluşturmanızı isteyecek, şifre karmaşık olmalı. Aynı şifreyi iki kere gireceğiz.
bls
KEY ise birprivate key
verecek. Hepsini kayıt edelim.
Keyleri listeyerek dosya yollarını kontrol ediyoruz.
eigenlayer operator keys list
eigenlayer operator config create
Sırasıyla bunlarıda yazıyorum kolaylık için, en aşağıda görselide olcak:
y diyoruz
operator adresi olarak,
ecdsa key
oluşturduğumuzda verdiğievm
adresini girin.
earning operator adres yine aynı ecdsa-evm adresi girin, yukarıdaki ile aynı.
goerli eth RPC isteyecek, BURADAN siteye gidiyoruz.
İlk olarak kaydınız yok ise kayıt olun, varsa giriş yapın.
Resimdeki gibi bir isim girip CREATE diyoruz.
Ethereıum Holesy Seçiyoruz ve Save Changes butonuna basıyoruz.
Bu şekilde bir https adresi verecek onu bir yere not edelim.
WebSockets bölümüne gidip oradaki adresi de bir yere not edelim. Lazım olacak.
ecdsa key
oluşturduğumuzda bize verdiği key pathi tam şekilde giriyoruz
Holesy seçiyoruz ve bitiyor. Aşağıda tamamlanmış halinin resmini ekledim.
Bu bize operator.yaml ve metadata.json dosyalarını oluşturacak.
nano metadata.json
Bu komutu çalıştırıp dosyanın içine girelim.
Bunun içindeki bilgileri dolduralım. Dolu hali
Bu şekilde dolduruyoruz. Sonra Bu doldurduğumuz bilgileri kopyalayıp bir yere not edelim.
Kendi Github sayfamızda Repositories sayfasına gidiyoruz sağda bulunan NEW butonuna basıyoruz.
Reposity Name bölümüne magnata diye isim veriyoruz Public seçiyoruz. En altta Create Repository diyoruz.
Sonrasında size aşağıdaki gibi bir sayfa çıkacak orada READ ME seçip repoyu oluşturun.
Sağ bölümde Add File seçeneği var ona basın. Create File var ona basın.
Create File sekmesine geldiğinizde Aşağıdaki görselde olduğu gibi işlemlerinizi yapın. Node içine yazdığımız bilgilerin aynısı burada olacak.
Bu adımları yaptıktan sonra Commit tuşuna basıyoruz.
Commit tuşuna bastıktan sonra dosyamız yayınlanacak o dosya repo içinden basıp ulaşıyoruz. Sağ bölümde RAW kısmı var ona basıyoruz.
Raw tuşuna bastıktan sonra size tarayıcı da yeni bir sayfa açacaktır. Tarayıcıdaki URL bir yere not edin.
nano operator.yaml
metadata_url için metadata.json dosyamızın public raw linkini kullanacağız.
Adımları düzgünce eklediysek CTRL + X + Y Enter yapıp çıkıyoruz. Aşağıya görselini de ekledim.
Node içinde aldığınız Private Key dosyasını metamask içine import ediyoruz.
Metamask> Account basıyoruz => En altta Add Account kısmı var ona basıyoruz => Hesabı içe aktar seçeneğine basıyoruz. => Sonrasında node içinden aldığımız private key girip import işlemini tamamlıyoruz.
Node için kurduğumuz cüzdana 0,5 - 1 arasında GOERLİ ETH gönderelim. Yeni cüzdana ETH geçtikten sonra; (Eğer goerli ETH bulamazsanız daha düşük miktarlar da olur.)
eigenlayer operator register operator.yaml
komutunu çalıştırıp. Hem edsa hem bls şifremizi girip Logların akmasının bitmesini bekliyoruz.
eigenlayer operator status operator.yaml
Durum kontrolü yapıyoruz. Aşağıdaki gibi çıktı almanız gerekiyor.
**Önemli!! ilk kez kuruyorsan ve metadata değişiklik yapmadıysan bu komutu girmene gerek yok!
eigenlayer operator update operator.yaml
Meta data üzerinde herhangi bir değişiklik yaparsanız, bu komut ile güncellemeyi unutmayın.
Önemli rETH ve sETH TVL miktarınız yani platforma stake miktarınızın toplamı 0,3-0,35'den fazla olmalıdır. Birazını rETH, birazını da sETH yaparak eklersiniz.
BURADAN Uniswap'a gidiyoruz. Goereli Ağında yeni kurduğumuz cüzdan ile bağlanıyoruz.
İlk rETH alacağız.
rETH=0x178e141a0e3b34152f73ff610437a7bf9b83267a
kontrat adresi ile uniswapta aratıp bir miktar alıyoruz.
Şimdi de sETH alıyoruz.
sETH= 0x1643e812ae58766192cf7d2cf9567df2c37e9b7f
kontrat adresi ile uniswapta aratıp bir miktar alıyoruz.
BURADAN sETH ve rETH poollarına stake ediyoruz.
Stake adımları tamamlandıktan sonra Terminalden adımlarımıza devam edelim
git clone https://github.com/mangata-finance/avs-operator-setup.git
cd avs-operator-setup
chmod +x run.sh
nano .env
Ekrana böyle bir sayfa gelecek buradaki düzenlememizi yapıyoruz.
ETH_RPC_URL
buraya infuradan aldığımız https olan PRC adresini giriyoruz.
ETH_WS_URL
buraya infura WSS linki giriliyor.
ECDSA_KEY_FILE_HOST
buradaki dosya yolunu silip node içinden alıp kaydettiğimi ECDSA key dosya yolunu ekliyoruz.
BLS_KEY_FILE_HOST buradaki bölüme bls dosya yolunu yazıyoruz.
ECDSA_KEY_PASSWORD
buraya ecdsa için verdiğimiz şifreyi giriyoruz.
BLS_KEY_FILE_HOST
buraya bls için verdiğimiz şifreyi giriyoruz.
Bu adımları tamamladıktan sonra CTRL X + Y Enter yaparak çıkıyoruz.
./run.sh opt-in
docker compose up -d
Docker contianer id bulmak için
docker ps
aldığınız ID ile aşağıdaki komutu girip, log kayıtlarının akmasını bekliyoruz.
docker logs -f <container_id>
Aşağıdakine benzer şekilde log kayıtlarınız akmış olacak.
BURADAN Mangata'nın discord kanalına gidip Verify sonrasında #AVS Operator kanalına, yukarıdaki gibi görseli atıp Node Runner rolümüzü isteyelim.
Bu arada Dokümanın orjinali'ne BURADAN ulaşabilirsiniz. Rues hazırladığı dokümanı kullandım ve yeni başlayanlar için ayrıntıları ekledim.
Rues reposunda ödüllü olduğunu ve KYC yapılabileceğini belirtmiş. Ona göre kendi kararınızı verebilirsiniz.
Güncelleme adımlarına başlayalım.
Unutmadan Stake yaptığınız rETH ve sETH miktarlarının toplamının 1ETH yi geçmesi veya eşit olması şart.
TIKLA Aşağıdaki gibi 1ETH yi geçmiş veya eşit olmalı
cd avs-operator-setup
docker compose down
.env dosyanızı yedeklemeniz gerekmekte. isterseniz nano .env yapıp direkt kopyalayın ekrandaki her şeyi
git reset --hard
git pull
docker compose pull
docker compose down
Az önce yazdığımız kodlar ile node dosyalarımızı güncelledik. bu nedenle güncellenmiş env dosyasını düzenlememiz gerekmektedir.
nano .env
resmideki çift süslü parantezli yerleri yedeklediğimiz dosyadan kopyalayın başka hiçbir şeye dokunmayın.
SÜSÜLÜ PARANTEZLERİ DE SİLİN!!!
Eğer sizin env dosyanız resimdeki gibi değil ise aşağıdaki kodları yazın.
rm -rf .env
nano .env
Aşağıdaki kısmı kopyalayıp bir not defterinde açın süslü parantezleri silip gerekli değerleri yazın.
Sonra da az önce boş bir sayfa olarak açtığımız .env dosyasına yapıştırın sağ tık ile yapıştırın.
MAIN_SERVICE_IMAGE=mangatasolutions/avs-finalizer:80ac399c2c2f103dd8de1be62c114d5090cd11cd
MAIN_SERVICE_NAME=avs-finalizer-node
#COLORBT_SHOW_HIDDEN=1
#RUST_BACKTRACE=full
# Goerli contracts deployment
AVS_REGISTRY_COORDINATOR_ADDR=0x5620cDb94BaAaD10c20483bd8705DA711b2Bc0a3
# Finalizer Service Manager RPC
AVS_RPC_URL=https://avs-aggregator-testnet.mangata.online/
# register with AVS when the node starts
OPT_IN_AT_STARTUP=true
RUST_LOG=avs=info
###############################################################################
####### TODO: Operators please update below values for your node ##############
###############################################################################
# TODO: Operators need to update this to provide connection to ETH & network nodes
CHAIN_ID=5
ETH_RPC_URL={{RPC url https://goerli.infura.io/v3/ şeklinde olacak}}
ETH_WS_URL= {{Websocket url wss://goerli.infura.io/ws/v3/ şeklinde olacak}}
SUBSTRATE_RPC_URL=wss://collator-01-ws-rollup-testnet.mangata.online:443
# TODO: Operators need to update this to their own keys, either use files or encoded JSON
# this is where your keys are stored on local storage
ECDSA_KEY_FILE_HOST=/root/.eigenlayer/operator_keys/{{eigenlayer_cüzdan_adınız}}.ecdsa.key.json
BLS_KEY_FILE_HOST=/root/.eigenlayer/operator_keys/{{eigenlayer_cüzdan_adınız}}.bls.key.json
# this is where the node binary finds the keys in the docker container
ECDSA_KEY_FILE=/app/operator_keys/ecdsa_key.json
BLS_KEY_FILE=/app/operator_keys/bls_key.json
# it is possible to pass the encoded json key directly with these env flags
# comment above both ECDSA_KEY_FILE & BLS_KEY_FILE if used
#ECDSA_KEY_JSON=
#BLS_KEY_JSON=
# TODO: Operators need to add password to decrypt the above keys
ECDSA_KEY_PASSWORD={{Şifrenizi buraya yazın}}
BLS_KEY_PASSWORD={{Şifrenizi buraya yazın}}
İşiniz bittiği zaman bu resimdeki gibi gözükmesi lazım dosyanızın.
env ile işiniz bitince
docker compose up -d
docker ps
Bu kod ile container id kopyalayın
docker logs -f {id}
Süslü parantezli kısmı silip kopyaladığınız id yi yapıştırın.
Ardından resimdeki gibi gözükmesi lazım.
Ama biraz sürebilir bu logların akmaya başlması şuan ağ çok yavaş. Resimdeki gibi Sucesfully registered yazdıysa bırakın kendi haline çok da kafaya takmayın. 30dk sonra ✅ görmez iseniz logda bi sorun olmuş olabilir. Telegram grubuna gelin çözelim sorunu hem rehbere de ekleriz başka karşılaşanlar için iyi olur.
Güncelleme Rehberini Yazan : @dwtexe Esenlikler Dilerim.