Guild Testnet
πŸ”΄ | DeFund

DeFund Node Setup for Testnet β€” orbit-alpha-1

DeFund Logo

Dokumentasi resmi:

Penjelajah:

Persyaratan Perangkat Keras

Persyaratan Perangkat Keras yang Direkomendasikan

  • 16GB RAM
  • 4vCPUs
  • Ruang Disk 200GB

Menyiapkan Node DeFund 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

Ganti moniker Anda <NAMA_MONIKER_ANDA> tanpa <>, simpan, dan impor variabel ke sistem

DEFUND_PORT=18
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="<NAMA_MONIKER_ANDA>"" >> $HOME/.bash_profile
echo "export DEFUND_CHAIN_ID="orbit-alpha-1"" >> $HOME/.bash_profile
echo "export DEFUND_PORT="${DEFUND_PORT}"" >> $HOME/.bash_profile
source $HOME/.bash_profile

Instalasi Go

cd $HOME
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
go version

Unduh dan bangun biner

cd $HOME
rm -rf defund
git clone https://github.com/defund-labs/defund
cd defund
git checkout v0.2.6
make install

Konfigurasi dan inisialisasi aplikasi

defundd config node tcp://localhost:${DEFUND_PORT}657
defundd config keyring-backend test
defundd config chain-id $DEFUND_CHAIN_ID
rm -rf $HOME/.defund/config/genesis.json
defundd init $MONIKER --chain-id $DEFUND_CHAIN_ID

Unduh genesis dan addrbook

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

Atur seeds dan peers

SEEDS=""
PEERS="d837b7f78c03899d8964351fb95c78e84128dff6@174.83.6.129:30791,f03f3a18bae28f2099648b1c8b1eadf3323cf741@162.55.211.136:26656,f8fa20444c3c56a2d3b4fdc57b3fd059f7ae3127@148.251.43.226:56656,70a1f41dea262730e7ab027bcf8bd2616160a9a9@142.132.202.86:17000"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.defund/config/config.toml

Atur port khusus dalam file app.toml

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

Atur port khusus dalam file config.toml

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

Konfigurasi pruning

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

Atur harga gas minimum, aktifkan prometheus, dan nonaktifkan indexing

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

Reset data chain

defundd tendermint unsafe-reset-all --home $HOME/.defund

Buat file layanan

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

Aktifkan dan mulai layanan

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

Snapshot, State Sync (Opsional)

Membuat Dompet

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

defundd keys add $WALLET

(opsional) Untuk mengembalikan dompet yang ada, gunakan perintah berikut

defundd keys add $WALLET --recover

Simpan alamat dompet dan validator

WALLET_ADDRESS=$(defundd keys show $WALLET -a)
VALOPER_ADDRESS=$(defundd 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

Isi dompet Anda Sebelum membuat validator, Anda perlu mengisi dompet Anda, buka server Discord DeFund dan navigasi ke saluran faucet

!faucet <ALAMAT_DOMPET_ANDA>

Membuat Validator

Sebelum membuat validator, periksa saldo dan pastikan bahwa node telah disinkronkan

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

defundd status 2>&1 | jq .SyncInfo

Periksa saldo Anda

defundd query bank balances $WALLET_ADDRESS

Buat validator

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

Anda dapat menambahkan bendera --website, --security-contact, --identity, --details jika diperlukan

--website <URL_SITUS_ANDA> \
--security-contact <KONTAK_ANDA> \
--identity <KEYBASE_IDENTITY_ANDA> \
--details <DESKRIPSI_VALIDATOR_ANDA>

Pemantauan

Jika Anda ingin mengatur sistem pemantauan dan peringatan, gunakan panduan pemantauan node Cosmos kami dengan tenderduty

Keamanan

Untuk melindungi kunci Anda, jangan bagikan privkey, mnemonic, 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 kata sandi pada server Anda

Keamanan Firewall

Setel ke default untuk mengizinkan koneksi keluar, menolak semua 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 ${DEFUND_PORT}656/tcp
sudo ufw enable

Perintah Berguna

Perintah Layanan

Periksa log

sudo journalctl -u defundd -f

Berhenti layanan

sudo systemctl stop defundd

Mulai layanan

sudo systemctl start defundd

Mulai ulang layanan

sudo systemctl restart defundd

Operasi Dompet

Periksa saldo

defundd query bank balances $WALLET_ADDRESS

Transfer dana

defundd tx bank send $WALLET_ADDRESS <ALAMAT_DOMPET_TUJUAN> 1000000ufetf --gas auto --gas-adjustment 1.3

Daftar dompet

defundd keys list

Buat dompet baru

defundd keys add $WALLET

Pulihkan dompet

defundd keys add $WALLET --recover

Hapus dompet

defundd keys delete $WALLET

Berikut adalah lanjutan dari petunjuk pengaturan node DeFund untuk testnet orbit-alpha-1:

Node Information

Info sinkronisasi

defundd status 2>&1 | jq .SyncInfo

Status node

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

Info node

defundd status 2>&1 | jq .NodeInfo

Info validator

defundd status 2>&1 | jq .ValidatorInfo

Rekan node Anda

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

Dapatkan daftar rekan node yang terhubung saat ini

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

Voting

defundd tx gov vote 1 yes --from $WALLET --chain-id $DEFUND_CHAIN_ID

Staking, Delegation, and Rewards

Tarik semua reward

defundd tx distribution withdraw-all-rewards --from $WALLET --chain-id $DEFUND_CHAIN_ID --gas auto --gas-adjustment 1.3

Tarik reward dengan komisi

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

Periksa saldo

defundd query bank balances $WALLET_ADDRESS

Delegasikan staking

defundd tx staking delegate $VALOPER_ADDRESS 1000000ufetf --from $WALLET --chain-id $DEFUND_CHAIN_ID --gas=auto --gas-adjustment 1.3

Re-delegasikan staking ke validator lain

defundd tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000ufetf --from $WALLET --chain-id $DEFUND_CHAIN_ID --gas auto --gas-adjustment 1.3

Validator Operation

Edit validator

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

Info validator

defundd status 2>&1 | jq .ValidatorInfo

Info penjara

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

Bebaskan validator dari penjara

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

Status konsensus

curl localhost:${DEFUND_PORT}657/consensus_state

Menghapus Node

sudo systemctl stop defundd
sudo systemctl disable defundd
sudo rm -rf /etc/systemd/system/defundd*
sudo rm $(which defundd)
sudo rm -rf $HOME/.defund
sudo rm -fr $HOME/defund
sed -i "/DEFUND_/d" $HOME/.bash_profile

Setelah mengikuti langkah-langkah ini, node Anda seharusnya sudah terhapus dan tidak aktif di jaringan. Pastikan untuk mengganti DEFUND_ dalam file .bash_profile Anda jika Anda berencana untuk mengatur node DeFund lainnya di masa mendatang. Juga, pastikan untuk menghapus kunci pribadi dan data lainnya yang sensitif agar tetap aman.