Sistem Gereksinimleri
Lava Mainnet için minimum sistem gereksinlemleri aşağıda belirtilmiştir.
Ubuntu 22.04
Node | CPU | RAM | SSD |
lava-mainnet-1 | 8 | 16 | 1 TB |
Kurulum
Sistem Gereksinimlerini yüklüyoruz.
sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade
Sunucumuzu güncelledikten sonra Go kurulumuna geçiyoruz.
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.22.1.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
Lava Network İndirme ve Binaries Kurulumu
cd $HOME
rm -rf lava
git clone https://github.com/lavanet/lava.git
cd lava
git checkout v1.0.1
Binaries Çalıştıralım.
export LAVA_BINARY=lavad
make build
# Cosmovisor yükleyelim.
mkdir -p $HOME/.lava/cosmovisor/genesis/bin
mv build/lavad $HOME/.lava/cosmovisor/genesis/bin/
rm -rf build
# Cosmovisor linklerini oluşturalım.
sudo ln -s $HOME/.lava/cosmovisor/genesis $HOME/.lava/cosmovisor/current -f
sudo ln -s $HOME/.lava/cosmovisor/current/bin/lavad /usr/local/bin/lavad -f
Cosmovisor indiriyoruz ve Service oluşturuyoruz.
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.5.0
sudo tee /etc/systemd/system/lava.service > /dev/null << EOF
[Unit]
Description=lava node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.lava"
Environment="DAEMON_NAME=lavad"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]
WantedBy=multi-user.target
EOF
Servis dosyasını çalıştıralım.
sudo systemctl daemon-reload
sudo systemctl enable lava.service
Lava Ağ ayarları ve Yapılandırma
# NODE ayarlarını yapıyoruz.
lavad config chain-id lava-mainnet-1
lavad config keyring-backend file
lavad config node tcp://localhost:14457
Validator İsmimizi girelim.
Burada yazan NodeName kısmına istediğiniz bir ismi verebilirsiniz.
lavad init NodeName --chain-id lava-mainnet-1
Genesis ve addrbook dosyalarını indirelim.
curl -Ls https://raw.githubusercontent.com/CoinHuntersTR/props/main/lava/genesis.json > $HOME/.lava/config/genesis.json
curl -Ls https://raw.githubusercontent.com/CoinHuntersTR/props/main/lava/addrbook.json > $HOME/.lava/config/addrbook.json
Yapılandırma Dosyalarının Düzenleyelim
sed -i -e "s|^seeds *=.*|seeds = \"400f3d9e30b69e78a7fb891f60d76fa3c73f0ecc@lava.rpc.kjnodes.com:14459\"|" $HOME/.lava/config/config.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0ulava\"|" $HOME/.lava/config/app.toml
# Set pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.lava/config/app.toml
# Seed Ekliyoruz.
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:14458\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:14457\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:14460\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:14456\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":14466\"%" $HOME/.lava/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:14417\"%; s%^address = \":8080\"%address = \":14480\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:14490\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:14491\"%; s%:8545%:14445%; s%:8546%:14446%; s%:6065%:14465%" $HOME/.lava/config/app.toml
Node çalıştırıyoruz.
sudo systemctl start lava.service && sudo journalctl -u lava.service -f --no-hostname -o cat
Validatorümüzü Çalıştıralım
lavad keys add wallet
wallet yerine istediğiniz bir cüzdan ismi verebilirsiniz.
lavad status 2>&1 | jq .SyncInfo
Bu komut sonrasında false çıktısı aldıysanız, ağ ile eşleşmişsiniz demektir. Artık validator oluşturabiliriz.
lavad tx staking create-validator \
--amount 1000000ulava \
--pubkey $(lavad tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id lava-mainnet-1 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.01 \
--min-self-delegation 1 \
--from wallet \
--gas-adjustment 1.4 \
--gas auto \
--gas-prices 0ulava \
-y
moniker yerine NodeName için yazdığınız ismi yazıyoruz. identity için keybase.io sitesine yüklediğimiz avatarın ID numarasını ekliyoruz. details Bu bölüme istediğiniz bir şey yazabilirsiniz. website bu bölümde web siteniz yada twitter kullanıcı linkiniz gibi bilgiyi verebilirsiniz.
Bu bilgileri girdikten sonra komutu çalıştırıyoruz ve validatorümüzü aktif hale getiriyoruz.
Snapshot
Ağa daha hızlı katılmak için snapshot kullanabilirsiniz. Her 6 saatte bir güncel bloğun snapshotını alıyoruz.
sudo systemctl stop lava.service
cp $HOME/.lava/data/priv_validator_state.json $HOME/.lava/priv_validator_state.json.backup
rm -rf $HOME/.lava/data
curl -L https://snapshots.coinhunterstr.com/lava/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.lava
mv $HOME/.lava/priv_validator_state.json.backup $HOME/.lava/data/priv_validator_state.json
sudo systemctl restart lava.service && sudo journalctl -u lava.service -f --no-hostname -o cat
Yorumlar (1)