swisstronik Validator Tools & Infrastructure Documentation
Complete infrastructure toolkit for swisstronik validators and developers. Access our professional-grade services including RPC nodes, API endpoints, daily snapshots, and real-time metrics. Our swisstronik infrastructure features optimized pruning configurations, automated backups, and comprehensive monitoring solutions. Supporting both mainnet and testnet environments with dedicated endpoints, state-sync services, and detailed technical documentation for seamless network participation and development.
Setting up your validator node has never been so easy. Get your validator running in minutes by following step by step instructions.
#Setup validator name
ⓘ  Â
Replace **YOUR_MONIKER_GOES_HERE** with your validator name
MONIKER="YOUR_MONIKER_GOES_HERE"
#Install dependencies
#Update system and install build tools
sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade
#Install Go
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.19.8.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)
eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
#Download and build binaries
# Clone project repository
cd $HOME
rm -rf swisstronik
git clone https://github.com/SigmaGmbH/swisstronik-chain swisstronik
cd swisstronik
git checkout testnet-v1.0.6
# Build binaries
make install
# Prepare binaries for Cosmovisor
mkdir -p $HOME/.swisstronikd/cosmovisor/genesis/bin
mv ~/go/bin/swisstronikd $HOME/.swisstronikd/cosmovisor/genesis/bin/
rm -rf build
#Install Cosmovisor and create a service
# Download and install Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/[email protected]
# Create service
sudo tee /etc/systemd/system/swisstronikd.service > /dev/null << EOF
[Unit]
Description=osmosis node service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
WorkingDirectory=$HOME/.swisstronikd
Restart=always
RestartSec=5
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.swisstronikd"
Environment="DAEMON_NAME=swisstronikd"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.swisstronikd/cosmovisor/current/bin"
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable swisstronikd
#Initialize the node
# Set node configuration
swisstronikd config chain-id swisstronik_1291-1
swisstronikd config node tcp://localhost:26457
# Initialize the node
swisstronikd init $MONIKER --chain-id swisstronik_1291-1
# Download genesis and addrbook
curl -Ls https://snapshots.lavenderfive.com/genesis/testnet-swisstronik/genesis.json > $HOME/.swisstronikd/config/genesis.json
curl -Ls https://snapshots.lavenderfive.com/testnet-snapshots/swisstronik/addrbook.json > $HOME/.swisstronikd/config/addrbook.json
# Add seeds
seeds="[email protected]:26656"
sed -i -e "s|^seeds *=.*|seeds = \"$seeds\"|" $HOME/.swisstronikd/config/config.toml
# Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"7uswtr\"|" $HOME/.swisstronikd/config/app.toml
# Set pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.swisstronikd/config/app.toml
# Set custom ports
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:26458\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:26457\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:26460\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:26456\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":26466\"%" $HOME/.swisstronikd/config/config.toml
sed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:26417\"%; s%^address = \":8080\"%address = \":26480\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:26490\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:26491\"%; s%:8545%:26445%; s%:8546%:26446%; s%:6065%:26465%" $HOME/.swisstronikd/config/app.toml
#Start service and check the logs
sudo systemctl start swisstronikd && sudo journalctl -u swisstronikd -f --no-hostname -o cat
#Sync
To catch up quickly, you can either use a snapshot or state sync
Chain ID:
The unique identifier for the blockchain network.
swisstronik_1291-1
Latest Version:
The latest version of the chain software.
testnet-v1.0.6
Github:
The Github repository hosting the code for the network in question.
Public endpoints
Public endpoints are rate limited but can be used for basic CLI usage, node syncing or testing environments. Request an API key for enhanced access limits, we offer free trial periods of 14 days and cheap shared access plans from $50 a month.
REST/LCD
REST endpoint for querying blockchain data through the REST framework. Often available for Cosmos chains but also the main framework for Aleo as an example.
testnet-rest.lavenderfive.com:443/swisstronik
RPC
Remote Procedure Call endpoint for the consensus client of a blockchain. This is not an EVM endpoint (we call this json RPC) but the main framework for blockchain frameworks like Cosmos, Aptos, Sui and Near.
testnet-rpc.lavenderfive.com:443/swisstronik
gRPC
High-performance RPC endpoint for blockchain communication using the Google gRPC framework. This is often standard gRPC and not the "WEB" framework which is sometimes also accesible.
testnet-swisstronik.lavenderfive.com:443
WebSocket
WebSocket endpoint for real-time blockchain updates of the consensus client. This is not the EVM websocket integration, we name and expose that separately. WS is commonly available for Cosmos and Move networks that also expose a REST endpoint.
wss://testnet-rpc.lavenderfive.com:443/swisstronik/ws
© 2022 Lavender.Five Nodes. All rights reserved.