Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

🌐 Gnoland topaz Full Node & Validator Kurulum Rehberi

og-gnoland

Ubuntu Gnoland Branch Chain ID License: MIT

İçindekiler


Donanım Gereksinimleri

Bileşen Minimum Önerilen
İşletim Sistemi Ubuntu 22.04+ Ubuntu 24.04
CPU 4 çekirdek 8 çekirdek
RAM 8 GB 16 GB
Disk 200 GB SSD 500 GB NVMe SSD
100 Mbps 1 Gbps

ℹ️ Gnoland bir testnet'tir — donanım gereksinimleri üretim zincirlerine kıyasla daha düşüktür.


Ağ Bilgileri

Tür Endpoint
RPC https://rpc.topaz.testnets.gno.land
Explorer https://topaz.testnets.gno.land
Faucet https://topaz.testnets.gno.land/faucet
Valopers https://topaz.testnets.gno.land/r/gnops/valopers
Aktif Validatorlar https://topaz.testnets.gno.land/r/sys/validators/v3
Resmi Dokümantasyon https://docs.gno.land
GitHub https://github.com/gnolang/gno

Adım 1 — Sistem Doğrulama

Sunucuya SSH bağlantısı sağladıktan sonra sistem gereksinimlerini doğrulayın:

lsb_release -a
uname -r
lscpu | grep -E "Model name|CPU\(s\)|Thread|Socket|Core"
free -h
df -h

Adım 2 — Sistem Güncellemesi ve Bağımlılıklar

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git wget htop tmux build-essential jq make lz4 gcc unzip \
  screen btop iotop nethogs hdparm cmake perl automake autoconf libtool libssl-dev zstd pv

Adım 3 — Go Kurulumu

Gnoland Go 1.22+ gerektirir. Bu adım Go 1.23'ü kurar ve PATH ayarlarını yapılandırır:

cd $HOME
VER="1.23.0"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm "go$VER.linux-amd64.tar.gz"

[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo 'export PATH=/usr/local/go/bin:$HOME/go/bin:$PATH' >> ~/.bash_profile
echo 'export GNOROOT=$HOME/gno' >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
export PATH="$HOME/go/bin:$PATH"

Kurulumu doğrulayın:

go version

Beklenen çıktı:

go version go1.23.0 linux/amd64

Adım 4 — Değişkenleri Ayarlama

Aşağıdaki değişkenleri kendi bilgilerinizle güncelleyip çalıştırın:

echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="node-adiniz"" >> $HOME/.bash_profile
echo "export GNOLAND_CHAIN_ID="topaz-1"" >> $HOME/.bash_profile
echo "export GNOLAND_PORT="54"" >> $HOME/.bash_profile
source $HOME/.bash_profile

ℹ️ GNOLAND_PORT aynı sunucuda birden fazla node çalıştırıyorsanız port çakışmasını önler. Varsayılan 26 yerine 54 kullanılmaktadır (RPC: 54657, P2P: 54656).


Adım 5 — Binary Derleme

Resmi gno deposunu klonlayın ve topaz branch'ine geçin:

cd $HOME
rm -rf gno
git clone https://github.com/gnolang/gno.git
cd gno && git checkout chain/topaz

Binary'leri derleyin ve kurun:

make -C gno.land install.gnoland install.gnokey

Kurulumu doğrulayın:

gnoland version
gnokey version

Adım 6 — Node Yapılandırması

Config ve secrets dosyalarını oluşturun:

cd $HOME/gno
gnoland config init
gnoland secrets init -data-dir $HOME/gno/gnoland-data/secrets/

Tüm gerekli yapılandırma ayarlarını uygulayın:

gnoland config set rpc.laddr tcp://0.0.0.0:${GNOLAND_PORT}657
gnoland config set p2p.laddr tcp://0.0.0.0:${GNOLAND_PORT}656
gnoland config set proxy_app tcp://127.0.0.1:${GNOLAND_PORT}658
gnoland config set moniker $MONIKER
gnoland config set application.prune_strategy syncable
gnoland config set consensus.timeout_commit 3s
gnoland config set consensus.peer_gossip_sleep_duration 10ms
gnoland config set p2p.flush_throttle_timeout 10ms
gnoland config set mempool.size 10000
gnoland config set p2p.external_address "$(wget -qO- eth0.me):${GNOLAND_PORT}656"
gnoland config set p2p.max_num_outbound_peers 40
gnoland config set p2p.persistent_peers \
  "g19q07ssuafhmg6r7ys7wp7rpc4jxc85cpvdy426@seed-1.topaz.testnets.gno.land:26656,g15k98e65gm8h7fdr3yr4tqn82lvch4a97a3sg3j@seed-2.topaz.testnets.gno.land:26656"

Adım 7 — Genesis ve Veri Dizini

Veri dizinini ana dizine taşıyın ve genesis dosyasını indirin:

mv $HOME/gno/gnoland-data $HOME/gnoland-data
cd $HOME/gnoland-data/config
wget -O genesis.json https://github.com/gnolang/gno/releases/download/chain/topaz/genesis.json

Genesis hash'ini doğrulayın — hash tam olarak eşleşmelidir:

shasum -a 256 genesis.json

Beklenen çıktı:

2dd049f973b82858727440df9aff5722cb0b322fd00890f40f2b0688276898ff  genesis.json

⚠️ Hash eşleşmiyorsa devam etmeyin. Genesis dosyasını tekrar indirin.


Adım 8 — Systemd Servis Oluşturma

Node'u yönetilen bir arka plan süreci olarak çalıştırmak için systemd servis dosyasını oluşturun:

sudo tee /etc/systemd/system/gnoland.service > /dev/null <<EOF
[Unit]
Description=Gnoland node
After=network-online.target

[Service]
User=$USER
WorkingDirectory=$HOME
Environment=HOME=$HOME
Environment=GNOROOT=$HOME/gno
ExecStart=$(which gnoland) start \
  --chainid topaz-1 \
  --genesis $HOME/gnoland-data/config/genesis.json \
  --data-dir $HOME/gnoland-data/ \
  --skip-genesis-sig-verification
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
sudo systemctl enable gnoland

Adım 9 — Node'u Başlatma

Servisi başlatın ve logları takip edin:

sudo systemctl restart gnoland && sudo journalctl -u gnoland -f

Servis durumunu doğrulayın:

sudo systemctl status gnoland --no-pager

Beklenen çıktı:

● gnoland.service - Gnoland node
     Active: active (running) since ...

Senkronizasyon durumunu kontrol edin:

curl -s http://localhost:${GNOLAND_PORT}657/status | jq .result.sync_info

Tam senkronize olunduğunda beklenen çıktı:

{
  "latest_block_height": "XXXXXX",
  "catching_up": false
}

⚠️ catching_up değeri false olana kadar validator kaydına geçmeyin.


Adım 10 — Cüzdan Oluşturma

Yeni cüzdan oluşturun:

gnokey add $WALLET

⚠️ KRİTİK: Mnemonic phrase gösterilecektir. Hemen güvenli bir yere kaydedin. Kaybolursa cüzdanınızı kurtaramazsınız.

Mevcut bir cüzdanı mnemonic ile kurtarmak için:

gnokey add $WALLET --recover

Cüzdanlarınızı listeleyin ve g1... adresinizi alın:

gnokey list

Test GNOT almak için faucet'i kullanın: https://topaz.testnets.gno.land/faucet

Bakiyenizi doğrulayın:

gnokey query \
  -remote "https://rpc.topaz.testnets.gno.land" \
  auth/accounts/$(gnokey list | grep "^*" | awk '{print $3}')

Adım 11 — Validator Kaydı

⚠️ Gnoland GovDAO tabanlı validator kayıt sistemi kullanır. Kayıt bir realm (akıllı sözleşme) çağrısıyla yapılır. Validator setine dahil olmak için GovDAO yönetişim önerisinin kabul edilmesi gerekir — kayıt tek başına yeterli değildir.

Validator Public Key'ini Alın

cd $HOME/gnoland-data && gnoland secrets get validator_key

Beklenen çıktı:

{
  "address": "g1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "pub_key": "gpub1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}

⚠️ Kayıt için yalnızca pub_key kullanılır. Buradaki address consensus key adresidir — operator adresi olarak kullanmayın. Operator adresi olarak gnokey list çıktısındaki cüzdan adresinizi kullanın.

Validator Kaydını Gönderin

Çalıştırmadan önce VAL_PUBKEY değerini yukarıdaki çıktıdan alın:

gnokey maketx call \
  --pkgpath gno.land/r/gnops/valopers \
  --func Register \
  --args "$MONIKER" \
  --args "ACIKLAMA" \
  --args "data-center" \
  --args "$(gnokey list | grep "^*" | awk '{print $3}')" \
  --args "VAL_PUBKEY" \
  --gas-fee 1000000ugnot --gas-wanted 50000000 \
  --chainid topaz-1 \
  --remote https://rpc.topaz.testnets.gno.land \
  --broadcast \
  $WALLET

Alternatif validator olma

  • siteye gidin pubkey yazın bilgilerinizi doldurun işlemi yollayın https://gno.satai.0xgen.online/register
Parametre Açıklama
$MONIKER .bash_profile'dan otomatik gelir
ACIKLAMA Validator hakkında kısa açıklama (elle girin)
data-center Altyapı konumunuz
VAL_PUBKEY gnoland secrets get validator_key çıktısındaki pub_key
$WALLET .bash_profile'dan otomatik gelir

ℹ️ Başarılı işlem sonrası profilinizi şu adreste görüntüleyebilirsiniz:
https://topaz.testnets.gno.land/r/gnops/valopers

Açıklama Güncelleme (Opsiyonel)

Açıklama limiti 2048 karakterdir. Kayıt sonrası güncellemek için:

gnokey maketx call \
  --pkgpath gno.land/r/gnops/valopers \
  --func UpdateDescription \
  --args "$(gnokey list | grep "^*" | awk '{print $3}')" \
  --args "YENI-ACIKLAMANIZ" \
  --gas-fee 1000000ugnot \
  --gas-wanted 50000000 \
  --chainid topaz-1 \
  --remote https://rpc.topaz.testnets.gno.land \
  --broadcast \
  $WALLET

Faydalı Komutlar

Servis Yönetimi

sudo systemctl start gnoland
sudo systemctl stop gnoland
sudo systemctl restart gnoland
sudo systemctl status gnoland

Loglar ve Senkronizasyon

# Canlı loglar
sudo journalctl -u gnoland -f --no-hostname -o cat

# Son bir saatin logları
sudo journalctl -u gnoland --since "1 hour ago"

# Senkronizasyon durumu
curl -s http://localhost:${GNOLAND_PORT}657/status | jq .result.sync_info

# Bağlı peer sayısı
curl -s http://localhost:${GNOLAND_PORT}657/net_info | jq .result.n_peers

Node Bilgileri

# Node ID
cd $HOME/gnoland-data && gnoland secrets get node_id

# Validator key
cd $HOME/gnoland-data && gnoland secrets get validator_key

# Tüm secrets
cd $HOME/gnoland-data && gnoland secrets get

Cüzdan ve Bakiye

# Cüzdanları listele
gnokey list

# Bakiye sorgula
gnokey query \
  -remote "https://rpc.topaz-1.testnets.gno.land" \
  auth/accounts/G1-ADRESINIZ

Token Gönderme

gnokey maketx send \
  -send "1000000ugnot" \
  -to "ALICI_ADRESI" \
  -gas-fee 1000000ugnot \
  -gas-wanted 10000000 \
  -broadcast \
  -chainid "topaz-1" \
  -remote "https://rpc.topaz.testnets.gno.land" \
  $WALLET

Güvenlik Duvarı

# P2P — herkese açık olmalıdır
sudo ufw allow ${GNOLAND_PORT}656/tcp comment "gnoland P2P"

# RPC — sadece public endpoint sunuyorsanız açın
sudo ufw allow ${GNOLAND_PORT}657/tcp comment "gnoland RPC"

Güncel Kalmak

Yeni Versiyona Güncelleme

sudo systemctl stop gnoland

cd $HOME/gno
git fetch --all --tags
git checkout chain/topaz
make -C gno.land install.gnoland install.gnokey

sudo systemctl restart gnoland
sudo journalctl -u gnoland -f --no-hostname -o cat

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors