1_kNm5E2XtpiKdacDmywA8-w

Redbelly Network Sosyal Medya Linkleri
Discord
Twitter
Websitesi
Medium
Telegram
Telegram Türkçe Kanal

Donanım Gereksinimleri

Redbelly Network düğümünü (Node) çalıştırmak için minumum donanım gereksinimleri

Donanım Gereksinim
Cpu 8-core Cpu
Mimari x86-64 (x64, x86_64, AMD64, ve Intel 64)
Ram 16 GB
İşletim Sistemi Ubuntu 22.04.2 LTS ya da üst sürümler (x86-64)
Depolama 400 GB
Ağ Bant Genişliği 40 Mbps
TCP bağlantı noktaları 8545, 8546, 1111 ve 1888 (Önerilen)

Arkadaşlar rehber biraz uzun olacak üstün körü anlatıp geçtiğimde biliyorum ki birçok kişi anlayamayacak ve nasıl olduğunu soracak ya da birçok kişi hata alacak. Bu karışıklığın önüne geçmek için ve aramıza yeni katılanları da düşünerek ayrıntılı ve resimli bir rehber hazırlıyorum. Rehberde ki adımları dikkatlice okuyup, takip ederseniz sorunsuz bir şekilde kurulumu tamamlayabilirsiniz. Bu arada bazen bir yere gitmek için farklı yollar olabilir. Benim doğru yolum aşağıda ki yol. Bu işten çok iyi anlayan kişiler domain üzerinden dns yönlendirmelerini yapabilir. Kurulum 3 adımdan oluşacak. Domain satın alma, domain için dns yapılandırılması ve düğüm (node) kurulumu.


Domain Satın Alma

Bunun için ben Godaddy platformunu kullandım. Kullanımı basit ve fiyat olarak uygun domainler var. 50-60 TL’ye domain alabilirsiniz. Ama siz istediğiniz platformu kullanabilirsiniz ya da önceden aldığınız bir domain varsa onu da kullanabilirsiniz. Ama ben size Godaddy üzerinden dns yönlendirme işlemlerini anlatacağım. Eğer bu konuya yabancıysanız sizde domaini Godaddy üzerinden satın alıp, kafanız karışmadan aşağıda ki rehbere göre işlemleri yapabilirsiniz. Domaini satın almadan önce mutlaka üyelik açın çünkü daha sonra bir sorun olduğunda müşteri temsilcisiyle daha rahat iletişim kurabilirsiniz. Domain satın alma kısmı zaten basit olduğu için onu anlatmıyorum...

Dns Yönlendirme

1- Bu işlem için Cloudflare sitesine gidin ve üyelik oluşturun. Mailinize gelen doğrulama linkine tıklayarak mail adresinizi doğrulayın.

1

2- Sizi şöyle bir ekran karşılıyacak. Add a website or application yazan butona tıklıyoruz...

2

3- Bir sonra ki adımda şöyle bir ekran gelecek. Enter domain name yazan yere satın aldığınız domainin adını yazın. Domainin başında https, www gibi şeyler yazmayın. Aşağıda ki gibi olsun. Sonra Enter butonuna tıklıyoruz...

3

4- Bu kısımda planı seçeceğiz. Cloudflare’e bize ücretli ve ücretsiz planlar sunuyor. Biz en aşağıda ki Free seçeceğiz. Bu ücretsiz plan. Daha sonra Continue butonuna tıklıyoruz...

5- Bir sonra ki ekranda hazır ayarlar gelirse -ki bazen gelmiyor- hepsini Delete tıklayarak siliyoruz. Hepsini sildikten sonra Add record yazan yere tıklıyoruz…

5

6- Bu sayfada dikkat etmeniz gereken ve ayarlama yapmanız gereken 4 kısım var. Sayılarla belirttim.

  • 1- Type A seçeceksiniz.
  • 2- Name (required) Domain adresinizi yazacaksınız. Https, www gibi şeyler yazmayın. Aşağıda ki gibi olsun.
  • 3- IPv4 address (required) Ip adresinizi yazacaksınız.
  • 4- Proxy Status kapalı olacak. Aşağıda ki gibi.

Tüm bu ayarlamaları yaptıktan sonra Save butonuna tıklayın ve ardından Continue butonuna tıklayınız...

6

7- Burada size Cloudflare nameservers (Ad sunucular) verecek. Bunları bir metin belgesine kaydedin. Bunlar birazdan lazım olacak! Dns yönlendirmesini yapmak için Godaddy sitesine gidin…

7

8- Godaddy platformuna giriş yaptıktan sonra sağ üst köşede profilinize girin sonra My Products tıklayın.

8

9- Burada Dns'ye tıklayın ve bir sonra ki adımda Dns ayarlarını yapılandıracağız.

9

10- Nameserverstıklayın, ardından Change Nameservers tıklayın ve bir sonra ki adımda Cloudflare sitesinden kopyaladığınız nameservers kaydedeceğiz.

10

11- Burada I'll use my own nameservers seçeneğini işaretleyin. Ve aşağıda ki gibi Cloudflare’den kopyaladığınız nameservers’i değiştirin, ardından Save butonuna tıklayarak kaydedin.

11

12- Düğüm (Node) kurulumuna başlamadan önce domaninizin dns yönlendirilmesinin tamamlanması gerekiyor. Yoksa düğüm (Node) kurulumu sırasında domaine sertifika alma kısmında hata alacaksınız. Dns Checkersitesine gidip, takip edebilirsiniz. Arama kısmına domaininizin adını yazın aşağıda ki resimde ki gibi dünya haritasında hepsinin yeşil bir şekilde onaylı olması gerekiyor. Yarısı onaylı, yarısı kırmızı çarpı işareti varsa beklemeniz gerekiyor. Bu bekleme süresi 15-20 dakika olabilir. Dns yönlendirilmesi tamamlandıktan sonra düğüm (Node) kurulumuna geçebilirsiniz.

12


Düğüm (Node) Kurulumu

1- Paket listenizini güncelleyin.

sudo apt update

2- Certbot yardımcı programını sunucuya yükleyin.

sudo apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot

3- DNS/FQDN'nizi doğrulamak ve sertifikayı vermek için certbot tarafından kullanılacak olan 80 numaralı bağlantı noktasında hiçbir işlemin çalışmadığından emin olun.

apt install net-tools
netstat -an | grep 80

4- Bu komut önemli çünkü domain adresinize sertifika alacaksınız ve kullanacağınız komut sonrası size bir çıktı verecek onu bir metin belgesine kaydedin çünkü ileride kullanacaksınız. Aşağıda ki komutu bir metin belgesine kaydedin. Ardından xxx@mail.com ve domainadresiniz.com’u kendi bilgilerinize göre düzenleyin.

Caution

  • Aşağıda ki komutu kesinlikle kendi bilgilerinize göre düzenleyin ‼️
  • Komutu kendi bilginize göre düzenledikten sonra sunucuda tek tek değil, bir bütün olarak çalıştırın ‼️
email=xxx@mail.com
fqn=domainadresiniz.com
sudo certbot certonly --standalone -d $fqn. --non-interactive --agree-tos -m $email
sudo chown -R $USER:$USER /etc/letsencrypt/

Caution

  • Mavi ile işaretli sertifika fullchain.pem ve key privkey.pem çıktılarını metin belgesine kaydedin ileride kullanacağız ‼️

Ekran görüntüsü 2024-03-09 223513

5- Bağımlılıkları yükleme/yükseltme

sudo apt-get update
sudo apt-get install -y cron curl unzip
sudo DEBIAN_FRONTEND=noninteractive apt-get -y upgrade

6- Redbelly düğüm (Node) kurulumunu tamamlamadan önce belirli dosyaları sunucuya yüklemeniz gerekiyor.

Daha sonra bu indirdiğiniz iki dosyayı winscp ya da termius gibi uygulamalar kullanarak sunucunuzun /root dizinine atın. Yani bilmeyen arkadaşlar için şöyle anlatayım, winscp ya da termius ile sunucuya bağlandıktan sonra hiçbir klasöre ya da başka bir yere girmeden ilk giriş yaptığınız yere atacaksınız dosyaları.

image

7- Güvenlik duvarı yapılandıracağız. Aşağıdaki UFW komutlarını kullanarak <b>80, 8545, 1888 ve 1111</b> numaralı bağlantı noktalarına izin vermemiz gerekiyor.

sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 8545
sudo ufw allow 1888
sudo ufw allow 1111

8- Config dosyasını yapılandıracağız.

nano config.yaml

9- Aşağıda ki komutu metin belgesine kaydedin. Ardından kendi bilgilerinize göre değişiklikler yapacaksınız.

Caution

  • Aşağıda ki komut örnektir. Kesinlikle kendi bilgilerinize göre düzenleyin ‼️
  • Domain adresinizin başında www, http ya da sonunda nokta, / gibi semboller olmayacak ‼️
  • Metamask adresinizin private keyini vereceksiniz bundan dolayı kesinlikle bu işlem için yeni bir hesabı açın ve onu kullanın ‼️
  • Değiştireceğiniz kısımlar şöyle;ip: Domain adresiniz, id: Size verilen Numara, privateKeyHex: Metamask adresinizin private keyi

Komutu düzenledikten sonra komutun hepsini bir bütün halinde sunucunuza yapıştırın.ctrl + o , ardından enter çıkış yapmak için ctrl + x

ip: xxxxxx
id: xx
genesisContracts:
  bootstrapContractsRegistryAddress: 0xDAFEA492D9c6733ae3d56b7Ed1ADB60692c98Bc5
consensusPort: 1888
grpcPort: 1111
privateKeyHex: xxxxxx
poolConfig:
  initCap: 5
  maxCap: 30
  idleTimeout: 180
clientKeepAliveConfig:
  keepAliveTime: 1
  keepAliveTimeOut: 20
serverKeepAliveConfig:
  serverKeepAliveTime: 70
  serverKeepAliveTimeOut: 10
  minTime: 60
rpcPoolConfig:
  maxOpenCount: 1
  maxIdleCount: 1
  maxIdleTime: 30

10- observe.sh dosyasını yapılandıracağız.

nano observe.sh

11- Hata almamak için dikkatli okumanızı rica ediyorum. Aşağıda ki komutu metin belgesine kaydedin. Kendi bilgilerinize göre değiştireceğiniz 2 kısım var. Bunlar; <PATH TO SSL CERTIFICATE> ve <PATH TO SSL CERTIFICATE KEY> 4. adımda size kaydetmenizi söylediğim sertifika ve key çıktılarıyla değiştireceksiniz.

Size örnek olması açısından aşağıda ki ekran görüntüsünde olduğu gibi kendi bilgilerinize göre düzenleyeceksiniz. Ayrıca boşluklara dikkat edin, fazladan bir şey silmeyin.

image

#!/bin/sh
# filename: observe.sh
if [ ! -d rbn ]; then
  echo "rbn doesnt exist. Initialising redbelly"
  mkdir -p rbn
  mkdir -p consensus
  cp config.yaml ./consensus

  ./binaries/rbbc init --datadir=rbn --standalone
  rm -rf ./rbn/database/chaindata
  rm -rf ./rbn/database/nodes
  mkdir -p ./rbn/genesis
  cp genesis.json ./rbn/genesis
else
  echo "rbn already exists. continuing with existing setup"
  cp config.yaml ./consensus
fi


# Run EVM
rm -f log
./binaries/rbbc run --datadir=rbn --consensus.dir=consensus --tls --consensus.tls --tls.cert=<PATH TO SSL CERTIFICATE> --tls.key=<PATH TO SSL CERTIFICATE KEY> --http --http.addr=0.0.0.0 --http.corsdomain=* --http.vhosts=* --http.port=8545 --http.api eth,net,web3,rbn --ws --ws.addr=0.0.0.0 --ws.port=8546 --ws.origins="*" --ws.api eth,net,web3,rbn --threshold=200 --timeout=500 --logging.level info --mode production --consensus.type dbft --config.file config.yaml --bootstrap.tries=10 --bootstrap.wait=10 --recovery.tries=10 --recovery.wait=10

12- Start-rbn.sh dosyasını yapılandıracağız.

nano start-rbn.sh

13- Aşağıda ki komutta bir değişiklik yapmadan direkt sunucuda çalıştırın.

#!/bin/sh
# filename: start-rbn.sh
mkdir -p binaries
mkdir -p consensus
chmod +x rbbc
cp rbbc binaries/rbbc
mkdir -p logs
nohup ./observe.sh > ./logs/rbbcLogs 2>&1 &

14- Kurlumun bu kadar. Şimdi sadece düğümü (Node) çalıştırmaya geldi sıra. Aşağıda ki komutları sırasıyla sunucuda çalıştırın. Komutlar herhangi bir çıktı vermeyecek. Eğer yukarıda anlatılan talimatları iyi okuyup, eksiksiz yaptıysanız sorunsuz çalışacaktır.

chmod +x observe.sh
chmod +x start-rbn.sh
./start-rbn.sh

Yararlı Komutlar

1- Logları kontrol etmek için aşağıda ki komutu kullanın.

tail -f $HOME/logs/rbbcLogs

image

2- Düğümün (Node) senkronize olup olmadığını kontol etmek için aşağıda ki komutu kullanın. Bu komutta kendi bilginize göre değiştireceğiniz kısım domain adresini yazan yer. Yani https://domainadresin.com yazan yere kendi domain adresinizi yazın. snap install jq komutunu bir kereliğine kullanacaksınız çünkü yeni sunucularda jq kurulu olmadığı için senkron olduğuna bakmak için kullanacağınız komut çalışmaz. İlerleyen saatlerde ya da günlerde senkron durumuna bakmak isterseniz snap install jq komutunu kullanmadan diğer komut ile kontrol edebilirsiniz.

snap install jq
echo $(( 16#$(curl -s https://domainadresin.com:8545 -X POST -H "Content-Type: application/json" --data '{"method":"eth_getBlockByNumber","params":["latest",false],"id":1,"jsonrpc":"2.0"}' | jq -r .result.number | sed 's/0x//') ))

image

Düğümün (Node) senkron durumunu bakmak için Redbelly Explorer'de güncel bloğu kontrol edebilirsiniz.

3- Düğüme (Node) reset atmak için aşağıda ki komutları kullanın.

  • Aşağıda ki komut Rbbc'yi kapatmak için size bir rakam verecek.
pgrep rbbc

image

  • Size verilen rakam ile rbbc'yi kapatıyoruz. Örnek kullanım şöyle kill 2909 olacak. Siz kendinize göre düzenleyeceksiniz.
kill ****

image

  • Düğümü (Node) tekrardan başlatıyoruz.
chmod +x observe.sh
chmod +x start-rbn.sh
./start-rbn.sh
  • Son olarak logları kontrol edelim.
tail -f $HOME/logs/rbbcLogs

image