Ar.io

TESTNETE BAŞLAMADAN ÖNCE OKUNMASI GEREKENLER

YAZMASI ve ANLATMASI günler sürdü/sürecek sizin okumanız maks 15 dakika tüm notlarımı okuyunuz lütfen.

Hocam şunla şu yan yana olur mu gibi sorular hep yarım kaldığı için bu tarz soruları sormayın cevaplamayacağım.

Buradan sayfayı biraz aşağıya kaydırıp FAQ kısmını okuyun arkadaşlar.

Testnete katılmak için domain gerekmiyor ama ödül almak için gerekiyor, domainimi Namecheap'den aldım.

ruesandora.xyz aldım 0.98$'a. sizde ucuza bir şey alın katılmak istiyorsanız, Namecheap'ı zaten bilmeyen yoktur.

Hosting satın almanıza gerek yok, bazı firmalar dayatıyor buna gerek yok, ayrıca kullanmadığınız mevcut domain varsa o da olur.

TOPLULUK KANALLARI: Sohbet Kanalımız - Duyurular ve Gelişmeler - Ar.io Discord

Donanım ve İhtiyaçlar

Güzel bir internete ihtiyacınız var Contabo sorun çıkarır TR sunucusu asla, Hetzner kullandım, şaşmaz.

> Sadece AR.IO varsa sunucunuzun diski minimum 80 GB olsun.
> 80 GB SSD'nin getirdiği CPU ve RAM yeterli. (Genel firamlar için, kıytırık firamları bilmiyorum)

Kurulum

# Güncelleme ve gerekli paketler
sudo apt update -y && sudo apt upgrade -y && sudo apt install -y curl openssh-server docker-compose git certbot nginx sqlite3 build-essential && sudo systemctl enable ssh && curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - && echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list && sudo apt-get update -y && sudo apt-get install -y yarn && curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash && source ~/.bashrc && sudo ufw allow 22 80 443 && sudo ufw enable

# nvm kurulumu
nvm install 16.15.1 && nvm use 16.15.1

# gerekli paketler ve portlar
sudo apt update -y && sudo apt upgrade -y

# y diyip enterleyin enable komutunda.
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443

# ngix ve docker
sudo apt install nginx -y
sudo apt install git -y
sudo docker run hello-world

# cerbotuda yükleyelim
sudo apt install certbot -y
sudo apt install openssh-server -y

Gerekli paketler Güncelleme

# yarnı yükleyelim
curl -sSL https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt-get update -y
sudo apt-get install yarn -y

# nvmi yükleyelim
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc

# nodejs ve toolarımızı yükleyelim.
nvm install 16.15.1
sudo apt install build-essential
sudo apt install sqlite3 -y

ar-io'yu kuralım

# repoyu klonlayalım
git clone https://github.com/ar-io/ar-io-node
cd ar-io-node

# içine girelim
nano .env

# Domain adresinizi yazın tırnakların arasına ve tırnakları kaldırın
GRAPHQL_HOST=arweave.net
GRAPHQL_PORT=443
START_HEIGHT=1000000
ARNS_ROOT_HOST=<domainadresiniz.xyz>

# nodeumuzu calıstıralım:
screen -S ar
sudo docker-compose up -d --build
sudo docker-compose logs -f --tail=0

# ipimizi teyit edelim ve ping atalım
curl ipinfo.io/ip
ip addr show | grep -w inet | awk '{print $2}' | awk -F'/' '{print $1}'

ÇOKOMELLİ BURASI!

# CERTBOTTA YAPACAĞIMIZ BU İŞLEM EN ÖNEMLİ KISIM
# Tırnakların arasını doldurup tırnakları kaldırın
sudo certbot certonly --manual --preferred-challenges dns --email <mailAdresiniz@gmail.com> -d <domainadresiniz.xyz> -d '*.<domainadresiniz.xyz>'

Bize bu kommuttan sonra bir kaç kez Agree , Yes diyecek bunları geçiyoruz AMA,

Bunları geçtikten sonra "Please deploy a DNS TXT record" kısmında duruyoruz.

Açıklamada bize verdiği _acme-challenge'ı ve private key'e benzeyen TXT keyimizi Record ekleyeceğiz, peki ya nasıl yaparız?

image

Buradan Recordlarınızı ekleyebilirisiniz. TEK TEK GİDİN OKUYUN PLS

Yaptıktan sonra aşağıdan devam:

# Şimdi bu klasöre girelim ve içinde ki her şeyi CTRL + K ile silelim.
sudo nano /etc/nginx/sites-available/default

İçine bu kodu yapıştıralım AMA yapıştırmadan önce tam 6 yerde ki tırnakların içini doldurup tırnakları kaldırın.

# Force redirects from HTTP to HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name <domainin> *.<domainin>;

    location / {
        return 301 https://$host$request_uri;
    }
}

# Forward traffic to your node and provide SSL certificates
server {
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name <domainin> *.<domainin>;

    ssl_certificate /etc/letsencrypt/live/<domainin>/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/<domainin>/privkey.pem;

    location / {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_http_version 1.1;
    }
}
# Daha sonra nginx konfigrasyonu ayarlayalım ve resetleyelim:
sudo nginx -t
sudo service nginx restart

Domaininizi internette search edince şöyle bir çıktı alırsınız

image

İnternette gözüktüysek devam edelim

Şimdiki aşamada 1 cüzdana ve 2 tip tokene ihtiyacımız var, 1. mainnet 2. Test token

Ben ArConnect'i seçtim ve Discord testnet-kanalına yukarıda search ettiğimiz domainimizi ve cüzdan adresimizi atıyoruz TEST ve MAİN tokeni için.

# tekrardan ar-io-node dizinindeyken .env'in içine girelim.
# Burada en alta AR_IO_WALLET= kısmı ekleyip karşısına cüzdanımızı girelim 
# Sonradan CTRL X Y ENTER ile çıkalım.

# Görselde gösterdim:

image

# Yukarıda ki görseli gerçekleştirdiysen bunları yap
screen -r ar
sudo docker-compose down
sudo docker-compose up -d --build
sudo docker-compose logs -f --tail=0

Kontrat kurulumu

# testnet-contract kurulumu:
git clone https://github.com/ar-io/testnet-contract

# dizine girip key.json'umuzu oluşturalım.
cd testnet-contract
nano key.json

bu key.json'unun içine konulacak işlem burada mevcut.

key.json'u hallettiysek:

# Buradaki paketleri yükleyelim
yarn install
npm install
npm install -g rimraf
npm install arg
sudo apt install ts-node -y
npm install -g ts-node

YUKARIDAKİ PAKETLERİ YÜKLEDİYSEK tools'u halledelim:

key.json'dan sonra tools'u ayarlamalıyız, buradan yapabilirsiniz.

tools'u ayarladıysak devam:

2 tokenide temin ettiyseniz devam edin

# tokeni aldıktan 15-20 dakika beklemenizi tavsiye ederim, başarlı TX alsanız bile ikisinden birisi gelmemiş olabilir

# toolsu ayarlayıp kaydedip çıktıysanız bu komutu çalıştıralım
yarn ts-node tools/join-network.ts
# Bu komut size TX id: null verirse tokeniniz eksiktir ya testnet ya mainnet. Uzun bir TX verirse başarılı!

https://domainAdresiniz/ar-io/healthcheck kısmını düzenleyin, Search edin ve Uptime her F5 yaptığınızda artıyorsa tebrikler, rica ederim.

Uptime artıyorsa linkinizi testnet kanalına atın ve OG rolünüzü isteyin. Sadece doğru kuranlar alabilir.