June 26, 2022

Quicksilver Testnet - NodeX

source : opensea.io/azuki

General information and awards

According to the roadmap, QuickSilver is starting INCENTIVIZED TESTNET, end of May - beginning of June. What you can do is install a node and run a validator, upload data about your active validator to their Discord, and you will be given the role of Rhapsody Testnet QCKers, more details about the testnet are described in their #rhapsody-fag thread. I also saw the roles of Meme / Content creators on Discord, you can work hard and come up with something, send the work to the #language-resources branch.

QCK Token The Quicksilver Token (QCK) will be a native Quicksilver token designed for chain management, transaction fees, government voting.

At the time of creation, 200 million tokens will be issued, and another 200 million tokens will be issued during the first year.

Over 50% of the QCK token supply genesis will be channeled to the community through airdrops and rewards.

30% of the newly issued tokens will go towards rewarding delegators and validators for securing Quicksilver. Another 30% will go to users providing token liquidity on the DEX, and another 30% to those who stake through Quicksilver.

Finally, 10% will go to the community pool for management to improve the ecosystem. But since this is the Cosmos, where everything is decided by the community, some changes in tokenomics are possible by voting.


about the project

Quicksilver is committed to providing a simplified Liquid Staking solution that does not negatively impact network security. Using the Iqlusion Liquidity Staking Module, users are given the option to choose a validator and positive participation is encouraged.

Quicksilver eliminates security risks that could potentially have long-term security implications for Cosmos.

In simple terms, this project will reimagine staking on Cosmos and provide a platform where users can maximize the returns on their assets.

๐Ÿ‘‰ Twitter project: https://twitter.com/quicksilverzone

๐Ÿ‘‰ Project website: https://quicksilver.zone/

๐Ÿ‘‰ Project Discord: https://discord.gg/rXkYnX87


equipment requirements

Developer hardware requirements

  • 4 processors; the higher the clock speed, the better
  • 8 GB RAM
  • 40 GB disk
  • Permanent internet connection

Node installation

Option 1 ( Automatic installation )

For a fully automatic installation of the node, use our script, you will be prompted to enter the name of the validator node (IMPORTANT - without spaces and special characters).

curl https://raw.githubusercontent.com/agonyp/Scripts-ALPHA-Noderunning/main/install-quicksilver.sh | bash

After executing the script, proceed to create a wallet

Option 2 ( Manual installation )

Set the moniker (Instead of YOUR moniker, insert the desired Name without spaces and special characters):

NODENAME = YOUR moniker

Set and import other variables

echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
echo "export WALLET=wallet" >> $HOME/.bash_profile
echo "export CHAIN_ID=killerqueen-1" >> $HOME/.bash_profile
source $HOME/.bash_profile

Updating packages

sudo apt update && sudo apt upgrade -y

Installing the required applications

sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y

Installing GO

ver="1.18.2"
cd $HOME
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

Download and compile the node

cd $HOME
git clone https://github.com/ingenuity-build/quicksilver.git --branch v0.4.0
cd quicksilver
make build
chmod +x ./build/quicksilverd && mv ./build/quicksilverd /usr/local/bin/quicksilverd

Configuring the node

quicksilverd config chain-id $CHAIN_ID
quicksilverd config keyring-backend file

We initialize it

quicksilverd init $NODENAME --chain-id $CHAIN_ID

Download the genesis file and addrbook:

wget -qO $HOME/.quicksilverd/config/genesis.json "https://raw.githubusercontent.com/ingenuity-build/testnets/main/killerqueen/genesis.json"
wget -qO $HOME/.quicksilverd/config/addrbook.json "https://raw.githubusercontent.com/agonyp/Scripts-ALPHA-Noderunning/main/utilities/quicksilver-addrbook.json"

Set the minimum gas price

sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0uqck\"/" $HOME/.quicksilverd/config/app.toml

Set seeds and peers

SEEDS="dd3460ec11f78b4a7c4336f22a356fe00805ab64@seed.killerqueen-1.quicksilver.zone:26656,8603d0778bfe0a8d2f8eaa860dcdc5eb85b55982@seed02.killerqueen-1.quicksilver.zone:27676"
PEERS="[email protected]:26656,[email protected]:26656,[email protected]:11656,[email protected]:36366,[email protected]:26651,[email protected]:25095,[email protected]:26656"
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.quicksilverd/config/config.toml

Turn on prometheus

sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.quicksilverd/config/config.toml

We adjust pruning

pruning="custom"
pruning_keep_recent="100"
pruning_keep_every="0"
pruning_interval="10"
sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.quicksilverd/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.quicksilverd/config/app.toml
sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.quicksilverd/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.quicksilverd/config/app.toml

Resetting the circuit data

quicksilverd tendermint unsafe-reset-all

Create a service file

tee /etc/systemd/system/quicksilverd.service > /dev/null <<EOF
[Unit]
Description=quicksilverd
After=network.target
[Service]
Type=simple
User=$USER
ExecStart=$(which quicksilverd) start
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF

Register and start the service

sudo systemctl daemon-reload
sudo systemctl enable quicksilverd
sudo systemctl restart quicksilverd

(OPTIONAL) Add command abbreviations

echo 'alias quicksilver_log="journalctl -u quicksilverd -f -o cat"' >> $HOME/.bash_profile
echo 'alias quicksilver_sync_stat="curl -s localhost:26657/status | jq .result.sync_info"' >> $HOME/.bash_profile

Wallet creation

Importing system variables

source $HOME/.bash_profile

Checking the sync status - catching_up should be false

quicksilverd status 2>&1 | jq .SyncInfo

Quick sync check command

quicksilver_sync_stat

Create a wallet

quicksilverd keys add $WALLET

After creating, be sure to save your wallet data, mnemonics and all other lines!

Wallet recovery by seed phrase (optional)

quicksilverd keys add $WALLET --recover

Saving wallet information in system variables

Add wallet address

WALLET_ADDRESS=$(quicksilverd keys show $WALLET -a)

Add valoper address

VALOPER_ADDRESS=$(quicksilverd keys show $WALLET --bech val -a)

Importing variables into the system

echo 'export WALLET_ADDRESS='${WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export VALOPER_ADDRESS='${VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

After synchronization, we go to the discord of the project in qck-tap and request tokens using

$request YOUR_WALLET killerqueen

You can check the balance there using

$balance YOUR_WALLET killerqueen

Validator and Delegation

Create a validator with the command

quicksilverd tx staking create-validator \
  --from=$WALLET \
  --amount=4900000uqck \
  --moniker=$NODENAME \
  --chain-id=$CHAIN_ID \
  --commission-rate=0.1 \
  --commission-max-rate=0.5 \
  --commission-max-change-rate=0.1 \
  --min-self-delegation=1 \
  --fees=200uqck \
  --pubkey=$(quicksilverd tendermint show-validator)

You can delegate tokens with a command (insert the size of the tokens you want, taking into account the gas in the network)

quicksilverd tx staking delegate $VALOPER_ADDRESS 4900000uqck --from=$WALLET --chain-id=killerqueen-1 --fees=5555uqck

Checking a node in the list of validators

It is possible to check yourself in the list using the link to explorer

https://quicksilver.explorers.guru/


Useful Commands

Check logs

quicksilver_log
journalctl -f -u quicksilverd -o cat

Synchronization check command

quicksilver_sync_stat
quicksilverd status 2>&1 | jq .SyncInfo

Stop service

systemctl stop quicksilverd

start service

systemctl start quicksilverd

Restart the service

systemctl restart quicksilverd

Delete node

sudo systemctl stop quicksilverd
rm -rf $HOME/quicksilver
rm -rf $HOME/.quicksilverd
sudo systemctl disable quicksilverd
sudo rm /etc/systemd/system/quicksilverd.service
rm /root/config/priv_validator_key.json
rm /root/data/priv_validator_state.json

Credit by @nekiy_iz โค๏ธ @alphateam