/Ritual-Node

Ritual Validator Node Kurulumu

Ritual Node Kurulumu

image

Sistem Gereksinimleri

Sistem gereksinimleri

Gereklilikleri yükleyelim ve güncelleme yapalım

sudo apt update && sudo apt upgrade -y
sudo apt -qy install curl git jq lz4 build-essential screen

Docker yükleyelim

sudo apt install docker.io
docker --version

⚠️v24.0.5 çıktısı almalısınız

En güncel docker compose'u yükleyelim

sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

Docker compose directorysine izin verelim

sudo chmod +x /usr/local/bin/docker-compose

⚠️v2.24.5 çıktısı almalısınız

Starter Repository'i klonlayalım.

git clone https://github.com/ritual-net/infernet-container-starter

ℹ️ Dosyamızın içine girmek için

cd infernet-container-starter

Örnek docker çalıştıralım gerekli dosyalarımızı oluşturalım

Screen oluşturalım

screen -S ritual

Ardından bunu run edelim

project=hello-world make deploy-container

Loglarımız başarılı bir şekilde aktıktan sonra CTRL + A + D ile screenden çıkalım. (Tekrar girmek için screen -r ritual)

Screenden çıkalım ardından containerlar düzgün çalışıyor mu kontrol edelim

docker ps -a

image

Konfigürasyonu değiştirelim

ℹ️ Öncelikle bunun için Alchemy veya Infura kullanmanız gerekli ben Alchemy üzerinden anlatacağım, yoksa Alchemy'den bir üyelik alın:

https://dashboard.alchemy.com/

Giriş yaptıktan sonra sol menüden app sekmesine tıklayın ve create new app diyin.

create new app

Burada Base mainnet'i seçin istediğiniz ismi ve açıklamayı yazıp oluşturun.

Select chain

Oluşturduğunuz app'in üstüne tıklayın ve api key butonuna basın.

api key

Ardından https ile başlayan private endpointi kopyalayıp not defterine yapıştırın.

http

Config'in içine girin

nano ~/infernet-container-starter/deploy/config.json

config

İşaretli üçünü şu şekilde değiştirin:

Rpc yerine Alchemy'den aldığınız endpointi yazın

Coordinator adresi değiştirin ve Base coordinator adresini yazın: 0x8D871Ef2826ac9001fB2e33fDD6379b6aaBF449c

Priv keyi değiştirip kendi metamask'ınızın priv keyini kopyalayın.

UYARI: ⚠️ Sadece 0x ile başlayan priv keyleri kabul ediyor eğer priv keyiniz 0x ile başlamıyorsa başına 0x koyun!

UYARI: ⚠️ Base ağında en az 5 usd değerinde ETH bulunsun!

Konfigürasyonu uygulayın

docker restart anvil-node
docker restart hello-world
docker restart deploy-node-1
docker restart deploy-fluentbit-1
docker restart deploy-redis-1

ℹ️ docker ps -a ile deploy-node-1 containerını öğrenip şu komut ile konfigürasyonunuz başarılı bir şekilde değişmiş mi ve node'unuz hatasız çalışıyor mu öğrenebilirsiniz.

deploy node1

docker logs -f <CONTAINER ID>

log

Loglar bu şekilde akıyor ise devam edebiliriz, konfigürasyonun değiştiğine emin olun.

Foundry ve Gereksinimleri Yükleyelim

Yeni dosya oluşturalım

cd
mkdir foundry
cd foundry

Scripti çalıştıralım

curl -L https://foundry.paradigm.xyz | bash

Konfigürasyonu update edelim ve çalıştıralım

source ~/.bashrc
foundryup

image

ℹ️ Böyle bir çıktı aldıysanız tamam

Gerekli library ve SDK'leri yükleyelim

cd ~/infernet-container-starter/projects/hello-world/contracts
forge install --no-commit foundry-rs/forge-std
forge install --no-commit ritual-net/infernet-sdk

Contract deploy edelim

Dosyamızın içine girelim ve contract deploy edelim

cd ~/infernet-container-starter
project=hello-world make deploy-contracts

ℹ️ Ardından başarılı bir tx olmuş mu kontrol edelim

docker logs -f anvil-node

image

Loglarda bu şekilde görünmesi gerekiyor.

Contract çağıralım

cd ~/infernet-container-starter
project=hello-world make call-contract

ℹ️ Kısa bir süre sonra yine tx'inizin logda görüntülendiğinden emin olun

docker logs -f anvil-node

On-chain Kayıt yaptıralım.

Bunun için bu linke gidin: https://basescan.org/address/0x8d871ef2826ac9001fb2e33fdd6379b6aabf449c#writeContract

Aşamaları takip edelim:

image

⚠️ Öncelikle cüzdanımızı bağlayalım ve bu cüzdanın config dosyamızdaki cüzdan olduğuna emin olalım.

image

Cüzdan adresimizi yazalım ve tx'i onaylayalım

1 saat bekledikten sonra activateNode sekmesinden on-chain kaydımızı tamamlayalım.