Redbelly Network Sosyal Medya Linkleri
Discord |
Websitesi |
Medium |
Telegram |
Telegram Türkçe Kanal |
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.
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...
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.
2- Sizi şöyle bir ekran karşılıyacak. Add a website or application
yazan butona tıklıyoruz...
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...
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…
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...
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…
8- Godaddy platformuna giriş yaptıktan sonra sağ üst köşede profilinize girin sonra My Products
tıklayın.
9- Burada Dns'ye tıklayın ve bir sonra ki adımda Dns ayarlarını yapılandıracağız.
10- Nameservers
tıklayın, ardından Change Nameservers
tıklayın ve bir sonra ki adımda Cloudflare sitesinden kopyaladığınız nameservers kaydedeceğiz.
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.
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 Checker
sitesine 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.
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 keyprivkey.pem
çıktılarını metin belgesine kaydedin ileride kullanacağız‼️
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.
-
Rbbc dosyasını indirin.
-
Genesis.json dosyasını indirin.
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ı.
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.
#!/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
1- Logları kontrol etmek için aşağıda ki komutu kullanın.
tail -f $HOME/logs/rbbcLogs
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//') ))
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
- Size verilen rakam ile rbbc'yi kapatıyoruz.
Örnek
kullanım şöylekill 2909
olacak. Siz kendinize göre düzenleyeceksiniz.
kill ****
- 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