Sistem Gereksinimleri: 4 CPU 8 RAM 1 TB SSD
HETZNER 10€ Hediyeli Link: https://hetzner.cloud/?ref=pRFkXFvi9sON
Sistemi Güncelleyelim
sudo apt update && sudo apt install curl git jq build-essential gcc unzip wget lz4 -y
GO Yükleyelim
cd $HOME && \
ver="1.22.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" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \
source ~/.bash_profile && \
go version
Binary
git clone https://github.com/initia-labs/initia.git
cd initia
git checkout v0.2.12
make install
Değişkenleri Ayarlayalım (NODE_ADI ve CUZDAN_ADI Bölümünü İstediğiniz Biçimde Değiştirin)
echo 'export MONIKER="NODE_ADI"' >> ~/.bash_profile
echo 'export CHAIN_ID="initiation-1"' >> ~/.bash_profile
echo 'export WALLET_NAME="CUZDAN_ADI"' >> ~/.bash_profile
source $HOME/.bash_profile
Node'u Başlatalım
cd $HOME
initiad init $MONIKER --chain-id $CHAIN_ID
Genesis Dosyasını İndirelim
wget https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json -O $HOME/.initia/config/genesis.json
Seed ve Peerları config.toml Dosyasına Ekliyoruz
PEERS="a63a6f6eae66b5dce57f5c568cdb0a79923a4e18@peer-initia-testnet.trusted-point.com:26628,[email protected]:39656,[email protected]:17956,[email protected]:17956,[email protected]:39656,[email protected]:24556,[email protected]:26656,[email protected]:15656,[email protected]:26656,[email protected]:17956,[email protected]:26656,[email protected]:17956,[email protected]:13656,[email protected]:17956,[email protected]:22656,[email protected]:19656,[email protected]:10656,[email protected]:17956,[email protected]:53456,[email protected]:39656,[email protected]:17956,[email protected]:24556,[email protected]:26686,[email protected]:39656,[email protected]:26656,[email protected]:17956,[email protected]:26656,[email protected]:14656,[email protected]:26656,[email protected]:53456,[email protected]:17956,[email protected]:53456,[email protected]:17956,[email protected]:39656,[email protected]:26656,[email protected]:17956,[email protected]:17956,[email protected]:53456,[email protected]:14656,[email protected]:17956,[email protected]:17956,[email protected]:17956,[email protected]:53456,[email protected]:26656" && \
sed -i \
-e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" \
"$HOME/.initia/config/config.toml"
Gas Price Ayarlıyoruz
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.15uinit,0.01uusdc\"/" $HOME/.initia/config/app.toml
Pruning Ayarları
sed -i \
-e "s/^pruning *=.*/pruning = \"custom\"/" \
-e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" \
-e "s/^pruning-interval *=.*/pruning-interval = \"10\"/" \
"$HOME/.initia/config/app.toml"
Servis Dosyası Oluşturalım
sudo tee /etc/systemd/system/initiad.service > /dev/null <<EOF
[Unit]
Description=initia node
After=network-online.target
[Service]
User=$USER
ExecStart=$(which initiad) start
Restart=on-failure
RestartSec=10
LimitNOFILE=10000
[Install]
WantedBy=multi-user.target
EOF
Sistem Konfigürasyonları
sudo systemctl daemon-reload
sudo systemctl enable initiad
sudo systemctl start initiad
Logları Başlatalım
sudo journalctl -u initiad -f -o cat
Loglar akmaya başladığında CTRL+C yapıp çıkıyoruz ve aşağıdaki kodla peerların eşleşip eşleşmediğini kontrol ediyoruz. Eşleştiyse false çıktısı almamız lazım.
initiad status 2>&1 | jq .sync_info
Snapshot Alalım (Bizi belirli bir bloktan başlatacak ve false çıktısı almak için daha az bekleyeceğiz.)
Servisi durduruyoruz
sudo systemctl stop initiad.service
cp $HOME/.initia/data/priv_validator_state.json $HOME/.initia/priv_validator_state.json.backup
rm -rf $HOME/.initia/data
Snapshotı indiriyoruz
curl -L https://snapshots.kzvn.xyz/initia/initiation-1_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.initia
mv $HOME/.initia/priv_validator_state.json.backup $HOME/.initia/data/priv_validator_state.json
Servisi tekrar başlatıyoruz
sudo systemctl start initiad.service && sudo journalctl -u initiad.service -f --no-hostname -o cat
Loglar akmaya başlayınca CTRL+C yapıp tekrar alttaki komutla ara ara kontrol edelim. Yaklaşık yarım saatte peer eşleşecek ve false çıktısı alacaksınız.
initiad status 2>&1 | jq .sync_info
latest_block_height https://scan.testnet.initia.xyz/initiation-1 adresindekine varınca false çıktısı verecektir. Ara ara kontrol edeceğiz. Uzun süreceği için terminali kapatıp birkaç saatte bir kontrol edebilirsiniz. Zaten işlemleri anasayfada yaptık. Çıkıp girdiğinizde son kod ile false çıktısı verene kadar kontrol edin. Snapshot düzgün çalışmıyor. Beklemekten başka çare yok gibi. Sonrasında buradan devam edebilirsiniz.
False olduktan sonra cüzdan oluşturacağız. Bir keplr cüzdanınız varsa import etmek için aşağıdaki kodu girdikten sonra 12 veya 24 kelimeli seed'leri gireceksiniz
initiad keys add wallet --recover
Yeni bir Keplr cüzdanı açmak istiyorsanız aşağıdaki kodu girin. Size vereceği 24 kelimeli seed'i kaydedin. Tarayıcıya Keplr cüzdan indirip bu seedler ile cüzdanı import edin.
initiad keys add wallet
Keplr cüzdanımıza seedleri import ettiysek https://faucet.testnet.initia.xyz/ sitesine cüzdan adresimizi girip faucettan test token alıyoruz.
Validator Kuralım
Web site ve mail adresi kısmını düzenleyin
initiad tx mstaking create-validator \
--amount=10000000uinit \
--pubkey=$(initiad tendermint show-validator) \
--moniker=$MONIKER \
--chain-id=$CHAIN_ID \
--website="Twitter linkinizi girebilirsiniz" \
--details="jcc" \
--security-contact="Mail adresiniz" \
--commission-rate="0.10" \
--commission-max-rate="0.20" \
--commission-max-change-rate="0.01" \
--from=$WALLET_NAME \
--gas=auto \
--gas-adjustment=1.4 \
--gas-prices 0.15uinit \
-y
WinSCP veya benzeri bir program ile sunucunuza bağlanıp priv_validator_key.json dosyasını bilgisayarınıza kaydetmeniz yararınıza olur.
İŞİNİZE YARAYABİLECEK KODLAR
Node'u Yeniden Başlatma (Loglar aktıktan sonra hata alırsanız kullanabilirsiniz)
sudo systemctl restart initiad && journalctl -u initiad -f -o cat