April 22, 2023

Installing the Cascadia node in the Sauron test network!!!

Cascadia is a unique blockchain network that combines ve-tokenomics and control theory to establish an organic ledger with emergent behaviors. Cascadia's main objective is to incorporate governance mechanisms into blockchain transactions, fostering trust, transparency, and security. Its distinguishing characteristic is the use of a vote-escrowed tokenomics model and a control system with two feedback loops that enable growth and adaptation. The initial loop monitors the system's output, making adjustments to facilitate learning. The second loop detects changes in the environment, updating the system with new information to encourage evolution.

updating the server:

sudo apt update && sudo apt upgrade -y

install the necessary utilities:

sudo apt install curl build-essential git wget jq make gcc tmux chrony -y

specify the name of your validator, which will be visible in the explorer:

NODENAME=<NAME_VALIDATOR>

saving and importing variables :

echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile
if [ ! $WALLET ]; then
	echo "export WALLET=wallet" >> $HOME/.bash_profile
fi
echo "export CASCADIA_CHAIN_ID=cascadia_6102-1" >> $HOME/.bash_profile
source $HOME/.bash_profile

installing GO:

ver="1.19.1" && \
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 version

clone and assemble the binary file:

cd $HOME
git clone https://github.com/CascadiaFoundation/cascadia.git
cd cascadia
git checkout v0.1.1
make install
cascadiad version

initializing the application:

cascadiad init $NODENAME --chain-id $CASCADIA_CHAIN_ID

download the genesis file:

curl -Ls https://ss-t.cascadia.nodestake.top/genesis.json > $HOME/.cascadiad/config/genesis.json

adding peers:

SEEDS=""
PEERS="[email protected]:15656,[email protected]:25656,[email protected]:56656,[email protected]:19656,[email protected]:41956,[email protected]:25656,[email protected]:22656,[email protected]:36656,[email protected]:22656,[email protected]:30656,[email protected]:34656,[email protected]:15656,[email protected]:60556,[email protected]:26656,[email protected]:16756,[email protected]:35656,[email protected]:40656,[email protected]:26656,[email protected]:23656,[email protected]:60656,[email protected]:39656,[email protected]:25556,[email protected]:36656,[email protected]:61556,[email protected]:16756,[email protected]:17096,[email protected]:22796,[email protected]:36656,[email protected]:49656,[email protected]:26656,[email protected]:36656,[email protected]:26656"; \
sed -i.bak -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.cascadiad/config/config.toml

setting up pruning:

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

we set the minimum gas price:

sed -i.bak -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.0025aCC\"/" ~/.cascadiad/config/app.toml

if necessary, disable indexing (indexer = "null"):

cd ~
nano $HOME/.cascadiad/config/config.toml
ctrl O, enter, ctrrl X

resetting the chain data:

cascadiad tendermint unsafe-reset-all --home $HOME/.cascadiad

creating a service file:

sudo tee /etc/systemd/system/cascadiad.service > /dev/null <<EOF
[Unit]
Description=.cascadia
After=network-online.target

[Service]
User=$USER
ExecStart=$(which cascadiad) start 
Restart=on-failure
RestartSec=3
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF

launching the service file:

sudo systemctl daemon-reload
sudo systemctl enable cascadiad
sudo systemctl restart cascadiad && sudo journalctl -u cascadiad -f -o cat

after the synchronization is complete, load the variables into the system:

source $HOME/.bash_profile

creating or restoring a wallet:

cascadiad keys add $WALLET 
cascadiad keys add $WALLET --recover

we save the information, enter the commands in turn, enter your password in 1 and 2:

CASCADIA_WALLET_ADDRESS=$(cascadiad keys show $WALLET -a)

CASCADIA_VALOPER_ADDRESS=$(cascadiad keys show $WALLET --bech val -a)

echo 'export CASCADIA_WALLET_ADDRESS='${CASCADIA_WALLET_ADDRESS} >> $HOME/.bash_profile
echo 'export CASCADIA_VALOPER_ADDRESS='${CASCADIA_VALOPER_ADDRESS} >> $HOME/.bash_profile
source $HOME/.bash_profile

creating a validator:

cascadiad tx staking create-validator \
  --amount 10000000000000000000aCC \
  --from $WALLET \
  --commission-max-change-rate "0.01" \
  --commission-max-rate "0.2" \
  --commission-rate "0.05" \
  --min-self-delegation "1" \
  --pubkey  $(cascadiad tendermint show-validator) \
  --moniker $NODENAME \
  --identity=8CA8639457BA76AC \
  --website="http://portfolio-bulevar.tilda.ws/" \
  --details="noderunner,crupto-enthusiast" \
  --chain-id $CASCADIA_CHAIN_ID \
  --fees=5000000aCC \
  --gas=250000 -y

delegate:

cascadiad tx staking delegate $CASCADIA_VALOPER_ADDRESS 55000000000000000000aCC --from=$WALLET --chain-id=$CASCADIA_CHAIN_ID --fees=5000000aCC --gas=250000 -y

delete node:

sudo systemctl stop cascadiad
sudo systemctl disable cascadiad
sudo rm /etc/systemd/system/cascadia* -rf
sudo rm $(which cascadiad) -rf
sudo rm $HOME/.cascadiad* -rf
sudo rm $HOME/cascadia -rf
sed -i '/CASCADIA_/d' ~/.bash_profile