π Node installation
Update packages
sudo apt update && sudo apt upgrade -yInstall dependencies
sudo apt install curl tar wget clang pkg-config libssl-dev libleveldb-dev jq build-essential bsdmainutils git make ncdu htop screen unzip bc lz4 gcc -yInstall Go
cd $HOME && \
ver="1.22.2" && \
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" >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
go versionThe output should be: go version go1.22.2 linux/amd64
Download binary for work
git clone https://github.com/quicksilver-zone/quicksilver
cd quicksilverd
git checkout v1.11.0
make installSpecify variables, for ease of work
echo 'export quicksilver_moniker="Validator_name"' >> $HOME/.profile
echo 'export quicksilver_wallet="Wallet_name"' >> $HOME/.profile
echo 'export quicksilver_port="111"' >> $HOME/.profile
source $HOME/.profileInitialize the node
quicksilverd init $quicksilver_moniker --chain-id quicksilver-2Set the settings
quicksilverd config chain-id quicksilver-2 && \
peers=0a3860f9d3c27b34910fe8660240ae55699b55c2@84.244.95.245:26656,ae353518e6009eb48d80ccf6a006a9644e9dd309@146.19.24.101:26656,5b63379fec9edfd0b1b475ae4d67c08bcb4abdc6@51.89.98.102:48656,ebfba72389824e819f04e42c62cf93b9e541251a@49.13.146.143:26633,c5d4ce50da0d99cd7e0b48efd1be07f1348dff46@174.138.176.146:29656,6053a39e67c6bae83430e354f53d99e160e4964b@65.109.28.177:28656,f1d2ffadfb5c5a0feb09b740a3818672595b8f84@88.198.69.44:11156,3485fff505789780dc5c9f52483666ae15cc5c11@207.180.231.123:11156,625eeb91fcc6242798f53426540825e5b37c7670@185.144.99.16:36656,4a73a81a94c9cd7147a84c35c7ab7abec94093bd@204.93.241.110:27651,b8b5d4428732b221f1692eaf8af6e653b8d587d7@84.46.245.53:31656,be4ff5b09936e32d9a4f87f5a5118973160d58f2@78.47.214.204:26656,443ad7c991b2915b620673b10206c92e2b4040e0@173.67.177.120:26656,f093d500e72f43e41691ba9b3b7b79dc841db8b0@142.132.156.99:21026,568da80abacf69babac3030f5be3de340675ad20@88.208.242.3:26656,41fe8da4c67864723bf21055135954e0f6951c84@148.251.92.34:36656,d93d33f89477252e0c31702e308a08914a179be9@51.83.184.168:26656,7b5fc2dfe1ca54840bd1ea7c332a7516d8ae772f@2a01:26656,7552fa33d654e0ebc2d3933dc823c1ac19e8e98f@65.109.125.172:21609,2ebbf400c9d307e11eacfa1bbce5663b6133e14f@202.61.224.231:26656,4aa307d4ce413837a3da019e966d8115fb4c1467@198.244.229.218:26656,1aaee68c8474b99c885c3b0ad4015f519d7db6ac@135.181.133.16:26656,a2e86407c88531b8f62e857ed462eb86634671ea@23.88.100.214:26633,e726816f42831689eab9378d5d577f1d06d25716@169.155.46.128:26656,c950a736496bec7abb89ff137e4c698fc061d9d4@193.34.212.165:36656,c401fba248ab17181eaa917a077e9e4fdeefdbcc@65.108.79.198:26696,712ab8988efa4f681225456a1891f739fbd2da6b@51.178.76.62:26656,4aa6607f87ad0b458526d3405731e71553cf275c@219.100.163.35:26656,7af3aeb6209f3404c2a86d4faa429de4b2d68c1e@195.3.221.249:60656,9e6a658fe26573baa1a1c105f6138a6dd8c1b435@95.217.225.212:16656,44aa838d26fe22ac4eaecff9e5643551d2228b79@136.243.104.103:12156,d3790de516358b06a4aac3e2f3a4d8cd711b4d84@89.58.25.35:11056,c9c72a2752cdfe798aa91dd6ddcc0f64597ad934@51.89.14.187:26656,ce94c5e02457accd8c0e5f3a61f381f4710b81ae@65.109.29.31:26656,83779cf55cc220c0bf9484560bcdfb93789a88e5@54.39.28.226:11156,fcdcf32b5ec8ca2fbbb25d5ce4796ac9b8162f94@94.237.102.105:26656,38e1b7bcfbc45b4b292f7099ace8549c443c0275@94.237.125.124:26656,71f722098fc28c2f39026af58d539f387451ddb0@65.109.86.210:27656,26aef7f4ca9ba982f09e456fb11d811c8aa64003@65.108.232.168:46656,95e7d4aa7570ff2f3174a668359c40e6577da799@65.108.66.174:48656 && \
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.quicksilverd/config/config.toml && \
seeds="6b0ffcce9b59b91ceb8eea5d4599e27707e3604a@seeds.stakeup.tech:10217" && \
sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.quicksilverd/config/config.tomlCreate wallet
quicksilverd keys add $quicksilver_walletSave the wallet. Or restore if there is a mnemonic:
quicksilverd keys add $quicksilver_wallet --recoverDownload Genesis
wget -O genesis.json "https://snapshots.stakeup.tech/quicksilver/genesis.json" --inet4-only
mv genesis.json ~/.quicksilverd/configOptional Settings
Memory optimization
cd $HOME/.quicksilverd/config && \
indexer="null" && \
snapshot_interval="0" && \
pruning="custom" && \
pruning_keep_recent="1000" && \
pruning_interval="50" && \
sed -i.bak -e "s/^indexer *=.*/indexer = \"$indexer\"/" config.toml && \
sed -i.bak -e "s/^snapshot-interval *=.*/snapshot-interval = \"$snapshot_interval\"/" app.toml && \
sed -i.bak -e "s/^pruning *=.*/pruning = \"$pruning\"/" app.toml && \
sed -i.bak -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" app.toml && \
sed -i.bak -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" app.tomlChange port
cd $HOME/.quicksilverd/config && \
sed -i.bak \
-e "s/:\s*26656/:${quicksilver_port}56/g" \
-e "s/:\s*26657/:${quicksilver_port}57/g" \
-e "s/:\s*26658/:${quicksilver_port}58/g" \
-e "s/:\s*26660/:${quicksilver_port}59/g" \
-e "s/:\s*6060/:${quicksilver_port}61/g" \
config.toml
sed -i.bak \
-e "s/:\s*1317/:${quicksilver_port}17/g" \
-e "s/:\s*8080/:${quicksilver_port}80/g" \
-e "s/:\s*9090/:${quicksilver_port}90/g" \
-e "s/:\s*9091/:${quicksilver_port}91/g" \
app.toml && \
echo 'export quicksilver_node=http://localhost:${quicksilver_port}57' >> $HOME/.bash_profile && \
source $HOME/.bash_profile && \
quicksilverd config node $quicksilver_nodeCreate a service file
sudo tee /etc/systemd/system/quicksilverd.service > /dev/null <<EOF
[Unit]
Description=quicksilver
After=network-online.target
[Service]
User=$USER
ExecStart=$(which quicksilverd) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload &&
sudo systemctl enable quicksilverd &&
sudo systemctl restart quicksilverd && sudo journalctl -u quicksilverd -f -o cat