Guild Testnet
πŸ”΄ | Celestia

Panduan Pengaturan Node Celestia

Logo Celestia

Celestia adalah teknologi blockchain modular baru yang mendukung, memperluas, dan mengamankan aplikasi Web3. Dalam panduan ini, kami akan membagikan perintah instalasi untuk node validator Celestia dengan bantuan layanan Tim ART Stake (opens in a new tab).

πŸ”§ Pengaturan Node Validator (Pemasangan Manual)

  1. Prasyarat. Pastikan paket sistem terkini dan instal dependensi:
sudo apt update && sudo apt upgrade -y
sudo apt install curl git wget htop tmux build-essential jq make gcc -y
  1. Set Variabel Lingkungan. Isi dompet dan moniker Anda <NAMA_DOMPET_ANDA> <NAMA_MONIKER_ANDA> tanpa tanda <>, simpan dan impor variabel ke sistem:
CELESTIA_PORT=11
echo "export WALLET="<NAMA_DOMPET_ANDA>"" >> $HOME/.bash_profile
echo "export MONIKER="<NAMA_MONIKER_ANDA>"" >> $HOME/.bash_profile
echo "export CHAIN_ID="blockspacerace-0"" >> $HOME/.bash_profile
echo "export CELESTIA_PORT="${CELESTIA_PORT}"" >> $HOME/.bash_profile
source $HOME/.bash_profile
  1. Pasang Go
cd ~
! [ -x "$(command -v go)" ] && {
VER="1.19.3"
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=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source ~/.bash_profile
}
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin
go version
  1. Unduh dan Bangun Binari
cd $HOME 
rm -rf celestia-app 
git clone https://github.com/celestiaorg/celestia-app.git 
cd celestia-app/ 
APP_VERSION=v0.13.2 
git checkout tags/$APP_VERSION -b $APP_VERSION 
make install
  1. Konfigurasi Jaringan P2P
cd $HOME
rm -rf networks
git clone https://github.com/celestiaorg/networks.git
  1. Konfigurasi dan Inisialisasi Aplikasi
celestia-appd config node tcp://localhost:${CELESTIA_PORT}657
celestia-appd config keyring-backend os
celestia-appd config chain-id $CHAIN_ID
celestia-appd init $MONIKER --chain-id $CHAIN_ID
  1. Unduh Genesis
wget -O $HOME/.celestia-app/config/genesis.json https://testnet-files.artstake.net/celestia/genesis.json
wget -O $HOME/.celestia-app/config/addrbook.json https://testnet-files.artstake.net/celestia/addrbook.json
  1. Atur Seeds dan Peers

Anda dapat menemukan lebih banyak peers di sini: https://artstake.net/services/testnet/celestia/#peer (opens in a new tab)

SEEDS="fedea9723696360d429a23792225594779cc7cd7@celestia-testnet-seed.artstake.net:11656"
PEERS="193acd7bf7049b425d7b95c24e02250fce8ad45c@celestia-testnet-peer.artstake.net:11656"
sed -i -e 's|^seeds *=.*|seeds = "'$SEEDS'"|; s|^persistent_peers *=.*|persistent_peers = "'$PEERS'"|' $HOME/.celestia-app/config/config.toml
  1. Atur Port Kustom pada Berkas app.toml
sed -i.bak -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:${CELESTIA_PORT}317\"%;
s%^address = \":8080\"%address = \":${CELESTIA_PORT}080\"%;
s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:${CELESTIA_PORT}090\"%; 
s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:${CELESTIA_PORT}091\"%; 
s%^address = \"0.0.0.0:8545\"%address = \"0.0.0.0:${CELESTIA_PORT}545\"%; 
s%^ws-address = \"0.0.0.0:8546\"%ws-address = \"0.0.0.0:${CELESTIA_PORT}546\"%" $HOME/.
 
celestia-app/config/app.toml
  1. Atur Port Kustom pada Berkas config.toml
sed -i.bak -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:${CELESTIA_PORT}658\"%; 
s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://0.0.0.0:${CELESTIA_PORT}657\"%; 
s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:${CELESTIA_PORT}060\"%;
s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:${CELESTIA_PORT}656\"%;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${CELESTIA_PORT}656\"%;
s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":${CELESTIA_PORT}660\"%" $HOME/.celestia-app/config/config.toml
  1. Konfigurasi Pruning
sed -i -e "s/^pruning *=.*/pruning = \"nothing\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"10\"/" $HOME/.celestia-app/config/app.toml
  1. Konfigurasi ALAMAT EKSTERNAL
EXTERNAL_ADDRESS=$(wget -qO- eth0.me)
sed -i.bak -e "s/^external-address = \"\"/external-address = \"$EXTERNAL_ADDRESS:26656\"/" $HOME/.celestia-app/config/config.toml
  1. Atur Harga Gas Minimum, Aktifkan Prometheus, dan Nonaktifkan Indexing
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.01utia\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.celestia-app/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.celestia-app/config/config.toml
  1. Reset Jaringan
celestia-appd tendermint unsafe-reset-all --home $HOME/.celestia-app 
  1. Buat Berkas Layanan
sudo tee /etc/systemd/system/celestia-validatord.service > /dev/null <<EOF
[Unit]
Description=celestia
After=network-online.target
 
[Service]
User=$USER
ExecStart=$(which celestia-appd) start --home $HOME/.celestia-app/
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
 
[Install]
WantedBy=multi-user.target
EOF
  1. Unduh Snapshot
curl https://testnet-files.artstake.net/celestia/snap_celestia.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.celestia-app
  1. Aktifkan dan Mulai Layanan
sudo systemctl daemon-reload
sudo systemctl enable celestia-validatord
sudo systemctl restart celestia-validatord && sudo journalctl -u celestia-validatord -f

πŸ’° Membuat Dompet

Flag baru harus ditambahkan dalam testnet blockspacerace-0 yang baru

--evm-address Flag ini harus berisi alamat EVM 0x.

  1. Buat dompet baru di Celestia. Jangan lupa untuk menyimpan kata-kata rahasianya.
celestia-appd keys add $WALLET

(pilihan) Memulihkan dompet, gunakan perintah berikut

celestia-appd keys add $WALLET --recover
  1. Isi dompet Anda Sebelum membuat validator, Anda perlu mengisi dompet Anda, pergi ke server Discord Celestia (opens in a new tab) dan buka saluran faucet. Mohon isi alamat orchestrator Anda juga, jika Anda ingin menjalankan Celestia bridge, Full, atau Light node
$request <ALAMAT_DOMPET_ANDA>

Panduan Pengguna Celestia Validator πŸš€

Selamat datang di panduan pengguna Celestia Validator! Panduan ini akan membimbing Anda melalui langkah-langkah untuk mengatur dan menjalankan node validator Celestia. Pastikan Anda mengikuti setiap langkah dengan cermat.

1. Simpan Alamat Wallet dan Validator

Gantilah alamat ERC-20 Anda PUT_YOUR_ERC20_ADDRESS> dengan alamat ERC-20 yang sebenarnya tanpa menggunakan tanda < >.

ERC20_ADDRESS="<PUT_YOUR_ERC20_ADDRESS>"
WALLET_ADDRESS=$(celestia-appd keys show $WALLET -a)
VALOPER_ADDRESS=$(celestia-appd keys show $WALLET --bech val -a)
echo "export WALLET_ADDRESS="${WALLET_ADDRESS} >> $HOME/.bash_profile
echo "export VALOPER_ADDRESS="${VALOPER_ADDRESS} >> $HOME/.bash_profile
echo "export EVM_ADDRESS=""$ERC20_ADDRESS" >> $HOME/.bash_profile
source $HOME/.bash_profile

2. Buat Validator πŸ‘¨β€πŸ’»

Catatan Sebelum membuat validator, pastikan untuk memeriksa saldo dan memastikan bahwa node Anda telah disinkronkan.

2.1 Periksa Status Sinkronisasi

Setelah node Anda sepenuhnya tersinkronisasi, keluaran akan menunjukkan false.

celestia-appd status 2>&1 | jq .SyncInfo

2.2 Periksa Saldo Anda

celestia-appd query bank balances $WALLET_ADDRESS

2.3 Buat Validator

celestia-appd tx staking create-validator \
  --amount 1000000utia \
  --from $WALLET \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.05" \
  --min-self-delegation "1" \
  --pubkey  $(celestia-appd tendermint show-validator) \
  --moniker $MONIKER \
  --chain-id $CHAIN_ID \
  --evm-address $EVM_ADDRESS \
  --gas=auto \
  --gas-adjustment=1.5 \
  --fees 5000utia

2.4 (Opsional) Tambahkan Flag --website, --security-contact, --identity, --details Jika Diperlukan

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

3. Pemantauan πŸ”

Kami juga akan memberikan informasi tentang cara mengatur pemantauan node, yang merupakan aspek penting untuk memastikan operasinya berjalan lancar.
Jika Anda ingin mengatur sistem pemantauan dan pemberitahuan, gunakan [panduan pemantauan node Celestia kami dengan tenderduty] Tetap terhubung!

4. Keamanan πŸ”’

Untuk melindungi kunci Anda, jangan pernah membagikan privkey dan mnemonic Anda, dan ikuti aturan keamanan dasar.

4.1 Siapkan 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.

4.2 Keamanan Firewall πŸ›‘οΈ

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

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

Jika Anda ingin membuka akses ke port RPC dan gRPC, tambahkan aturan berikut:

IP_ADDRESS="<PUT_IP_ADDRESS>"
sudo ufw allow from $IP_ADDRESS to any port ${CELESTIA_PORT}090
sudo ufw allow from $IP_ADDRESS to any port ${CELESTIA_PORT}657

Selamat! πŸŽ‰

Anda telah berhasil menginstal dan mengonfigurasi node validator Celestia! Bergabunglah dengan komunitas Celestia dan mulailah berkontribusi pada jaringan. Anda juga dapat melihat perintah-perintah berguna di bawah ini.

Periksa log

sudo journalctl -u celestia-validatord -f

Berhenti layanan

sudo systemctl stop celestia-validatord

Mulai layanan

sudo systemctl start celestia-validatord

Restart layanan

sudo systemctl restart celestia-validatord

Operasi Wallet

Periksa saldo

celestia-appd query bank balances $WALLET_ADDRESS

Transfer dana

celestia-appd tx bank send $WALLET_ADDRESS <TO_WALLET_ADDRESS> 1000000utia --gas auto --gas-adjustment 1.3 --fees 5000utia

Daftar wallet

celestia-appd keys list

Buat wallet baru

celestia-appd keys add $WALLET

Pulihkan wallet

celestia-appd keys add $WALLET --recover

Hapus wallet

celestia-appd keys delete $WALLET

Informasi Node

Informasi sinkronisasi

celestia-appd status 2>&1 | jq .SyncInfo

Status node

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

Info node

celestia-appd status 2>&1 | jq .NodeInfo

Info validator

celestia-appd status 2>&1 | jq .ValidatorInfo

Rekan node Anda

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

Dapatkan daftar rekan yang terhubung saat ini

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

Voting

celestia-appd tx gov vote 1 yes --from $WALLET --chain-id $CHAIN_ID --fees 5000utia

Staking, Delegasi, dan Imbalan

Tarik semua imbalan

celestia-appd tx distribution withdraw-all-rewards --from $WALLET --chain-id $CHAIN_ID --gas auto --gas-adjustment 1.3 --fees 5000utia

Tarik imbalan dengan komisi

celestia-appd tx distribution withdraw-rewards $VALOPER_ADDRESS --from $WALLET --commission --chain-id $CHAIN_ID --gas auto --gas-adjustment 1.3 --fees 5000utia

Periksa saldo

celestia-appd query bank balances $WALLET_ADDRESS

Delegasikan staked

celestia-appd tx staking delegate $VALOPER_ADDRESS 10000000utia --from $WALLET --chain-id $CHAIN_ID --gas=auto --gas-adjustment 1.3 --fees 5000utia

Redelegasikan staked ke validator lain

celestia-appd tx staking redelegate <srcValidatorAddress> <destValidatorAddress> 1000000utia --from $WALLET --chain-id $CHAIN_ID --gas auto --gas-adjustment 1.3 --fees 5000utia

Operasi Validator

Edit validator

celestia-appd tx staking edit-validator \
  --moniker=$NODENAME \
  --identity=<your_keybase_id> \
  --website="<your_website>" \
  --details="<your_validator_description>" \
  --chain-id=$CHAIN_ID \
  --from=$WALLET \
  --fees 5000utia

Informasi validator

celestia-appd status 2>&1 | jq .ValidatorInfo
 

Informasi pembekuan

celestia-appd q slashing signing-info $(celestia-appd tendermint show-validator)

Bebaskan validator yang dibekukan

celestia-appd tx slashing unjail --broadcast-mode=block --from $WALLET --chain-id $CHAIN_ID --gas auto --gas-adjustment 1.5 --fees 5000utia

Status konsensus

curl localhost:${CELESTIA_PORT}657/consensus_state

Hapus Node

sudo systemctl stop celestia-validatord
sudo systemctl disable celestia-validatord
sudo rm -rf /etc/systemd/system/celestia-validatord*
sudo systemctl daemon-reload
sudo rm $(which celestia-appd)
sudo rm -rf $HOME/.celestia-app
sudo rm -fr $HOME/celestia-app
sed -i "/CELESTIA_/d" $HOME/.bash_profile