Birçok kişi, bir doğrulayıcının yüksek teknik becerilere ihtiyaç duyduğunu düşünürken, diğerleri, örneğin bir programcıysanız çok kolay olduğunu düşünüyor ve birçok kişi bunun ne anlama geldiğini bilmiyor.
Ana hedefi yapay zekanın hayatımızı, çalışmamızı, yeni beceriler kazanmamızı ve zaman kazanmamızı kolaylaştırmak ve geliştirmekte olan Humans.ai için Testnet'e yeni başladığımızdan, bir doğrulayıcının ne olduğunu ve Humans.ai için nasıl oluşturulacağını daha açık bir şekilde ortaya koymak istiyoruz.
Aşağıdaki makale, teknik şeylerle dolu olacak, ancak yeni başlayan biri tarafından bile anlaşılabilmesi için yapılması gerekenleri kolaylaştırmak ana amacıdır.
I) Doğrulayıcı ne anlama gelir?
Doğrulayıcı, uzlaşıma katılan ve işlemlerin doğrulaması, oylaması ve kaydı tutulması için sorumlu olan özel bir düğümdür.
Doğrulayıcılar, ağın blok zincirinin bir kopyasını saklar ve sistemi güvende tutmak için belirli işlevleri yerine getirmek zorundadır. Ağa bağlı olarak, sınırlı sayıda Doğrulayıcı düğümü veya sınırsız olabilir. Örneğin, Humans.ai için Testnet için sadece 50 doğrulayıcı seçildi ve diğer 25'i beklemede.
POS sisteminin (Proof of Stake) en önemli parçası doğrulayıcılardır. Staking sisteminin moderatörleri gibi davranırlar ve zincire yeni bloklar eklemenin önemli bir işi vardır.
Mümkün olduğunca merkezsizleştirilmiş bir sistem için, iyi sayıda doğrulayıcının seçilmesi önemlidir. Bu, topluluğa daha fazla staking seçeneği sunarak ve zincirin tek bir çok zengin doğrulayıcı tarafından kontrol edilmesini önleyerek sistemi korumaya yardımcı olur.
II) Bir Doğrulayıcı Çalıştırmak İçin Ne Gerekir?
Önkoşullar veya Sistem gereksinimleri
Teknik projeler için bu ihtiyaçlara ön koşullar denir. Diğer tüm hizmetlere benzer şekilde önkoşullar çok önemlidir!
a) Güçlü internet bağlantısı
b) En az 32 GB belleğe (RAM) sahip bir sunucu aldığınızdan emin olmanız gerekir.
c) En az 500 GB SSD disk depolama alanına sahip yarıiletken sürücü
d) En az 1000mbps ağ bant genişliği
e) Humans eşler arası ağına bağlanmak için birkaç bağlantı noktası açın
Tendermint ölçümlerini dışa aktarmak için Prometheus şu portu dinler: 26660
Prometheus ihracatçısı: 9464
Humans eşler arası ağına bağlanmak için: 26656
Cosmos SDK metriklerini dışa aktar: 1317
Blockchain kullanımı arttıkça sunucu gereksinimlerinin de artabileceğini unutmayın, bu nedenle sunucunuzu güncellemek için de bir planınız olmalıdır.
III) Humans düğümünüzü/doğrulayıcınızı nasıl oluşturabilirsiniz?
Tüm projeler, Github'larında öğreticiler ve faydalı bilgiler paylaşır. Bu yüzden Github'u en iyi arkadaşınız yaptığınızdan emin olun :)
Bu noktadan itibaren, burada bulabileceğiniz resmi öğreticiyi takip etmenizi öneririz: https://github.com/humansdotai/testnets
Yukarıdaki adımlara ek olarak, servis kurulumumuzu da aşağıdaki gibi gerçekleştirmeniz gerekecektir:
1. Makinenizin Ubuntu 20.04'te çalıştığından emin olun
2. Paket listesini güncelleyerek başlayın:
sudo apt update
3. Şunu yazarak build-essential paketini kurun:
sudo apt upgrade -y
4. Bu komut, gcc, g++ ve make dahil olmak üzere bir dizi yeni paket yükler.
sudo apt-get install manpages-dev
5. Go'yu çalıştırmak için gerekli paketleri yükleyin
sudo apt install build-essential -y
6. Gcc sürümünü kontrol edin
gcc --version
7. Önce mevcut eski Go kurulumlarını kaldırın
sudo rm -rf /usr/local/go
sudo rm -rf /root/go
8. Uyumlu ve doğru Go sürümünü yükleyin
curl https://dl.google.com/go/go1.20.1.linux-amd64.tar.gz | sudo tar -C/usr/local -zxvf -
9. Go'yu dahil etmek için ortam değişkenlerini güncelleyin
cat <<'EOF' >>$HOME/.profile
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
EOF
source $HOME/.profile
10. GO sürümünü kontrol edin
go version
Yanıt olarak, şöyle bir şey almalıyız:
go1.20.1 linux / amd64
11. Git yardımcı programını yükleyin (zaten kurulu değilse)
apt install git
12. humand'ın en son sürümünü yükleyin ve doğru etiketi kontrol ettiğinizden emin olun
git clone https://github.com/humansdotai/humans
cd humans && git checkout tags/v0.1.0
make install
13. Yüklü sürümü doğrulayın.
humansd version --long
14. Doğrulayıcı adınızı belirleyin
humansd init stake2earn --chain-id=humans_3000-1
15. Yerel bir anahtar oluşturun veya mevcut olanı kurtarın
humansd keys add wallet_test
humansd keys add --recover wallet_test
Anımsatıcı tohumunuzu kaydetmeyi unutmayın!
Ana ağ doğrulayıcı anahtarlarınızı asla bir test anahtarı oluşturma arka ucu kullanarak oluşturmayın. Bunu yapmak, fonlarınızı eth-sendTransaction JSON -RPC uç noktası aracılığıyla uzaktan erişilebilir hale getirerek para kaybına neden olabilir.
16. Sahip olduğunuz tüm anahtarları kontrol edin.
humansd keys list
IV) Humans düğümünüzü/doğrulayıcınızı nasıl başlatır ve yönetirsiniz?
Systemd
Günlüklerinizi ve hatalarınızı takip etmek için aşağıdaki ve servis dosyalarını oluşturabilirsiniz. Bu, yalnızca düğümü otomatik olarak eşitlemek ve arıza durumunda gerektiğinde Humans Cosmos arka plan programını yeniden başlatmak istiyorsanız zorunludur:
1. Hataları izlemek için dosyaları oluşturun:
sudo mkdir -p /var/log/humans && sudo touch /var/log/humans/humans.log && sudo touch /var/log/humans/humans_error.log
2. Aşağıdaki scripti sistem servisinize kopyalayın.
sudo tee /etc/systemd/system/humans.service > /dev/null <<'EOF'
[Unit]
Description=humans sync node service
After=network-online.target
[Service]
User=root
TimeoutStartSec=0
CPUWeight=90
IOWeight=90
Environment=OTEL_EXPORTER_PROMETHEUS_PORT=9464
ExecStart=/root/go/bin/humansd start - log_level=warn
StandardOutput=file:/var/log/humans/humans.log
StandardError=file:/var/log/humans/humans_error.log
Restart=on-failure
RestartSec=3
LimitNOFILE=4096
[Install]
WantedBy=multi-user.target
EOF
3. Sistem hizmetinizi kontrol edin
cat /etc/systemd/system/humans.service
4. Sonraki komutlarla günlüklerinizi kontrol edin ve takip edin:
systemctl daemon-reload
sudo systemctl enable humans
sudo systemctl start humans
sudo systemctl stop humans
sudo systemctl restart humans
systemctl -l status humans
sudo journalctl -u humans-f
tail -f /var/log/humans/humans.log
tail -f /var/log/humans/humans_error.log
5. Düğümünüzün/doğrulayıcınızın durumunu kontrol edin
humansd status 2>&1 | jq .SyncInfo
“catch_up”a dikkat edin
"true" ise henüz senkronize DEĞİL demektir.
"false" ise senkronize anlamına gelir.
6. Doğrulayıcı Oluştur
catch_up false olduktan sonra doğrulayıcınızı oluşturmanız gerekir:
humansd tx staking create-validator \
--amount=9850000aheart \
--pubkey=$(humansd tendermint show-validator) \
--moniker=stake2earn 🌜 \
--website="https://stake2earn.com" \
--details="Blockhain validator in POS networks - Decentralized and noncustodial crypto staking services 🌜" \
--identity=D153AB5E9F506C47 \
--chain-id=humans_3000-1 \
--commission-rate="0.05" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.1" \
--min-self-delegation="1" \
--gas-prices 0.025aheart \
--from=wallet_test
Tebrikler! Düğümünüzü/doğrulayıcınızı oluşturmayı başardınız! :)