Guild Testnet
πŸ”΄ | Quasar

Quasar Node Setup for Testnet β€” qsr-questnet-04

Quasar Logo

Dokumentasi Resmi:

Explorer:

Persyaratan Perangkat

Persyaratan Perangkat Keras yang Direkomendasikan

  • 4 atau lebih inti CPU fisik
  • Setidaknya 500GB penyimpanan SSD
  • Setidaknya 16GB memori
  • Setidaknya 100mbps bandwidth jaringan

Persiapkan node quasar Anda

Instalasi Manual

Perbarui paket dan instalasikan dependensi

sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc -y

Gantilah moniker Anda <YOUR_MONIKER> tanpa <>, simpan dan impor variabel ke sistem

QUASAR_PORT=29
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="<YOUR_MONIKER>"" >> $HOME/.bash_profile
echo "export QUASAR_CHAIN_ID="qsr-questnet-04"" >> $HOME/.bash_profile
echo "export QUASAR_PORT="${QUASAR_PORT}"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Instalasi Go

cd $HOME
if ! [ -x "$(command -v go)" ]; then
VER="1.19.3"
wget "https://golang.org/dl/go$VER.linux-amd64.tar.gz"
sudo tar -C /usr/local -xzf "go$VER.linux-amd64.tar.gz"
rm -rf  "go$VER.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
fi

Unduh dan bangun biner

cd $HOME
wget https://github.com/quasar-finance/binary-release/raw/main/v0.0.2-alpha-11/quasarnoded-linux-amd64
chmod +x quasarnoded-linux-amd64
if [ ! -d "$HOME/go/bin" ]; then
mkdir $HOME/go/bin
fi
sudo mv quasarnoded-linux-amd64 $HOME/go/bin/quasarnoded
quasarnoded version

Konfigurasi dan inisialisasi aplikasi

quasarnoded config node tcp://localhost:${QUASAR_PORT}657
quasarnoded config keyring-backend test
quasarnoded config chain-id $QUASAR_CHAIN_ID
quasarnoded init $MONIKER --chain-id $QUASAR_CHAIN_ID

Unduh genesis dan addrbook

wget -O $HOME/.quasarnode/config/genesis.json https://testnet-files.artstake.net/quasar/genesis.json

Tetapkan seeds dan peers

SEEDS=""
PEERS="bba6e85e3d1f1d9c127324e71a982ddd86af9a99@88.99.3.158:18256,bcb8d2b5d5464cddbab9ce2705aae3ad3e38aeac@144.76.67.53:2490,1c1043ae487c91209fce8c589a5772a7f3846e7c@136.243.88.91:8080,1112acc7479a8a1afb0777b0b9a39fb1f7e77abd@34.175.69.87:26656,bffb10a5619be7bfa98919e08f4a6bef4f8f6bf0@135.181.210.186:26656,695b9dc49a979e4c5986c5ae9a6effc8bc8597f0@185.197.250.151:27656,8937bdacf1f0c8b2d1ffb4606554eaf08bd55df4@5.75.255.107:26656,a23f002bda10cb90fa441a9f2435802b35164441@38.146.3.203:18256,41ee7632f310c035235828ce03c208dbe1e24d7d@38.146.3.204:18256,966acc999443bae0857604a9fce426b5e09a7409@65.108.105.48:18256"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.quasarnode/config/config.toml

Tetapkan port gustom dalam file app.toml

sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${QUASAR_PORT}317\"%;
s%^address = \":8080\"%address = \":${QUASAR_PORT}080\"%;
s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${QUASAR_PORT}090\"%; 
s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${QUASAR_PORT}091\"%; 
s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${QUASAR_PORT}545\"%; 
s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${QUASAR_PORT}546\"%" $HOME/.quasarnode/config/app.toml

Tetapkan port gustom dalam file config.toml

sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${QUASAR_PORT}658\"%; 
s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://0.0.0.0:${QUASAR_PORT}657\"%; 
s%^pp
 
rof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${QUASAR_PORT}060\"%;
s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${QUASAR_PORT}656\"%;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${QUASAR_PORT}656\"%;
s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${QUASAR_PORT}660\"%" $HOME/.quasarnode/config/config.toml

Konfigurasi pruning

sed -i -e "s/^pruning *=.*/pruning = \"nothing\"/" $HOME/.quasarnode/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.quasarnode/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.quasarnode/config/app.toml

Tetapkan harga gas minimum, aktifkan prometheus, dan nonaktifkan indexing

sed -i 's/minimum-gas-prices =.*/minimum-gas-prices = "0.0uqsr"/g' $HOME/.quasarnode/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.quasarnode/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.quasarnode/config/config.toml

Reset data chain

quasarnoded tendermint unsafe-reset-all --home $HOME/.quasarnode

Buat file Layanan

sudo tee /etc/systemd/system/quasarnoded.service > /dev/null <<EOF
[Unit]
Description=quasar
After=network-online.target
 
[Service]
User=$USER
ExecStart=$(which quasarnoded) start --home $HOME/.quasarnode
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
 
[Install]
WantedBy=multi-user.target
EOF

Aktifkan dan mulai layanan

sudo systemctl daemon-reload
sudo systemctl enable quasarnoded
sudo systemctl restart quasarnoded && sudo journalctl -u quasarnoded -f

Snapshot, State Sync (OPSIONAL)

Agar tidak menunggu sinkronisasi lama, Anda dapat menggunakan panduan kami:

Snap dan Sync (opens in a new tab)

Buat dompet

Untuk membuat dompet baru, gunakan perintah berikut. jangan lupa untuk menyimpan mnemonic

quasarnoded keys add $WALLET

(opsional) Untuk memulihkan dompet yang sudah ada, gunakan perintah berikut

quasarnoded keys add $WALLET --recover

Simpan alamat dompet dan validator

WALLET_ADDRESS=$(quasarnoded keys show $WALLET -a)
VALOPER_ADDRESS=$(quasarnoded keys show $WALLET --bech val -a)
echo "export WALLET_ADDRESS="${WALLET_ADDRESS} >> $HOME/.bash_profile
echo "export VALOPER_ADDRESS="${VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

Buat validator

sebelum membuat validator, Anda perlu memeriksa saldo dan pastikan bahwa node sudah disinkronkan

Periksa status sinkronisasi, setelah node Anda sepenuhnya disinkronkan, output dari perintah di atas akan mengatakan false

quasarnoded status 2>&1 | jq .SyncInfo

Periksa saldo Anda

quasarnoded query bank balances $WALLET_ADDRESS

Buat validator

quasarnoded tx staking create-validator \
  --amount 1000000uqsr \
  --from $WALLET \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.05" \
  --min-self-delegation "1" \
  --pubkey  $(quasarnoded tendermint show-validator) \
  --moniker $MONIKER \
  --chain-id $QUASAR_CHAIN_ID

Anda dapat menambahkan flag --website --security-contact --identity --details jika diperlukan

--website <YOUR_SITE_URL> \
--security-contact <YOUR_CONTACT> \
--identity <KEYBASE_IDENTITY> \
--details <YOUR_VALIDATOR_DETAILS>

Monitoring

Jika Anda ingin mengatur sistem pemantauan dan pemberitahuan, gunakan panduan pemantauan node cosmos kami dengan tenderduty (opens in a new tab)

Keamanan

Untuk melindungi kunci Anda, jangan bagikan privkey dan mnemonic Anda, dan ikuti aturan keamanan dasar

Mengatur kunci SSH untuk otentikasi

Anda dapat menggunakan panduan ini (opens in a new tab) untuk mengonfigurasi otentikasi ssh dan menonaktifkan otentikasi sandi di server Anda

Keamanan Firewall

Set default untuk mengizinkan koneksi keluar, menolak semua koneksi masuk, izinkan ssh, dan port p2p node

sudo ufw default allow outgoing 
sudo ufw default deny incoming 
sudo ufw allow ssh/tcp 
sudo ufw allow ${QUASAR_PORT}656/tcp
sudo ufw enable

Perintah Berguna

Perintah Layanan

Periksa log

sudo journalctl -u quasarnoded -f

Berhenti layanan

sudo systemctl stop quasarnoded

Mulai layanan

sudo systemctl start quasarnoded

Mulai ulang layanan

sudo systemctl restart quasarnoded

Operasi Dompet

1. Query Bank Balances

Untuk memeriksa saldo bank pada alamat wallet tertentu:

quasarnoded query bank balances $WALLET_ADDRESS

2. Transfer Dana

Untuk mentransfer dana dari satu wallet ke wallet lain:

quasarnoded tx bank send $WALLET_ADDRESS <TO_WALLET_ADDRESS> 1000000uqsr --gas auto --gas-adjustment 1.3

3. Daftar Wallet

Untuk melihat daftar wallet yang tersimpan:

quasarnoded keys list

4. Membuat Wallet Baru

Untuk membuat wallet baru:

quasarnoded keys add $WALLET

5. Memulihkan Wallet

Untuk memulihkan wallet menggunakan opsi recovery:

quasarnoded keys add $WALLET --recover

6. Menghapus Wallet

Untuk menghapus wallet:

quasarnoded keys delete $WALLET

7. Informasi Node

Sync Info

Untuk melihat informasi sinkronisasi node:

quasarnoded status 2>&1 | jq .SyncInfo

Node Status

curl -s localhost:${QUASAR_PORT}657/status

Node Info

quasarnoded status 2>&1 | jq .NodeInfo

Validator Info

quasarnoded status 2>&1 | jq .ValidatorInfo

Node Peers

echo $(quasarnoded tendermint show-node-id)'@'$(curl -s ifconfig.me)':'$(cat $HOME/.quasarnode/config/config.toml | sed -n '/Address to listen for incoming connection/{n;p;}' | sed 's/.*://; s/".*//')

Daftar Peers yang Terhubung

curl -sS http://localhost:${QUASAR_PORT}657/net_info | jq -r '.result.peers[] | "\(.node_info.id)@\(.remote_ip):\(.node_info.listen_addr)"' | awk -F ':' '{print $1":"$(NF)}'

8. Voting

Untuk memberikan suara dalam proses voting:

quasarnoded tx gov vote 1 yes --from $WALLET --chain-id $QUASAR_CHAIN_ID

9. Staking, Delegasi, dan Rewards

Tarik Semua Rewards

quasarnoded tx distribution withdraw-all-rewards --from $WALLET --chain-id $QUASAR_CHAIN_ID --gas auto --gas-adjustment 1.3

Tarik Rewards dengan Komisi

quasarnoded tx distribution withdraw-rewards $VALOPER_ADDRESS --from $WALLET --commission --chain-id $QUASAR_CHAIN_ID --gas auto --gas-adjustment 1.3

Periksa Saldo

quasarnoded query bank balances $WALLET_ADDRESS

Delegasi Stake

quasarnoded tx staking delegate $VALOPER_ADDRESS 1000000uqsr --from $WALLET --chain-id $QUASAR_CHAIN_ID --gas=auto --gas-adjustment 1.3

Redelegasi Stake ke Validator Lain

quasarnoded tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000uqsr --from $WALLET --chain-id $QUASAR_CHAIN_ID --gas auto --gas-adjustment 1.3

10. Operasi Validator

Edit Validator

quasarnoded tx staking edit-validator \
  --moniker=$NODENAME \
  --identity=<your_keybase_id> \
  --website="<your_website>" \
  --details="<your_validator_description>" \
  --chain-id=$QUASAR_CHAIN_ID \
  --from=$WALLET

Info Validator

quasarnoded status 2>&1 | jq .ValidatorInfo

Informasi Jailing

quasarnoded q slashing signing-info $(quasarnoded tendermint show-validator)

Unjail Validator

quasarnoded tx slashing unjail --broadcast-mode=block --from $WALLET --chain-id $QUASAR_CHAIN_ID --gas auto --gas-adjustment 1.5

Status Konsensus

curl localhost:${QUASAR_PORT}657/consensus_state

11. Menghapus Node

Jika Anda ingin menghapus node Quasar:

sudo systemctl stop quasarnoded
sudo systemctl disable quasarnoded
sudo rm -rf /etc/systemd/system/quasarnoded*
sudo rm $(which quasarnoded)
sudo rm -rf $HOME/.quasarnode
sed -i "/QUASAR_/d" $HOME/.bash_profile

Pastikan untuk mengganti variabel-variabel seperti $WALLET_ADDRESS, $TO_WALLET_ADDRESS, $WALLET, $VALOPER_ADDRESS, <srcValidatorAddress>, dan <destValidatorAddress> dengan nilai-nilai yang sesuai sebelum menjalankan perintah-perintah tersebut. Semoga panduan ini membantu Anda dalam menggunakan Quasar Node dengan lancar!