Join Buenavista
Overview
This tutorial explains how to run the Warden binary, wardend
, and join the Buenavista testnet:
- The chain ID in queries:
buenavista-1
- Endpoints: networks repository > buenavista
- The current
wardend
version: v0.4.2
Version history
Release | Upgrade block height | Upgrade date |
---|---|---|
v0.3.0 | genesis | |
v0.4.1 | 1675700 | Aug 13, 2024 |
v0.4.2 | 1965400 | Sep 2, 2024 |
Prerequisites
-
We recommend running public testnet nodes on machines with the following characteristics:
- at least 8 cores
- 32GB of RAM
- 300GB of disk space
-
You also need to install Go 1.22.3 or later.
1. Install
To join Buenavista, install wardend
(the Warden binary) using the script below. There are two ways to do it:
Option 1: Use the prebuilt binary
-
Download the binary for your platform from the release page and unzip it. The archive contains the
wardend
binary. -
Initialize the chain home folder:
./wardend init my-chain-moniker
Option 2: Use the source code
Build the wardend
binary and initialize the chain home folder:
git clone --depth 1 --branch v0.4.2 https://github.com/warden-protocol/wardenprotocol
just build
build/wardend init my-chain-moniker
2. Configure
To configure wardend
, do the following:
-
Prepare the genesis file:
cd $HOME/.warden/config
rm genesis.json
wget https://buenavista-genesis.s3.eu-west-1.amazonaws.com/genesis.json.tar.xz | tar -xJ -
Set the mandatory configuration options: the minimum gas price and persistent peers.
sed -i 's/minimum-gas-prices = ""/minimum-gas-prices = "250uward"/' app.toml
sed -i 's/persistent_peers = ""/persistent_peers = "loading..."/' config.toml
3. Set up the state sync
This step is recommended but optional.
To speed up the initial sync, you can use the state sync feature. This will allow you to download the state at a specific height from a trusted node and after that only download the blocks from the network.
You'll need to use a trusted RPC endpoint – for example, the following:
https://rpc.buenavista.wardenprotocol.org
-
From this RPC endpoint, you can get the trusted block height and hash:
export SNAP_RPC_SERVERS="https://rpc.buenavista.wardenprotocol.org:443,https://rpc.buenavista.wardenprotocol.org:443 "
export LATEST_HEIGHT=$(curl -s "https://rpc.buenavista.wardenprotocol.org/block" | jq -r .result.block.header.height)
export BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000))
export TRUST_HASH=$(curl -s "https://rpc.buenavista.wardenprotocol.org/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) -
Check that all variables have been set correctly:
echo $LATEST_HEIGHT $BLOCK_HEIGHT $TRUST_HASH
# output should be similar to:
# 70694 68694 6AF4938885598EA10C0BD493D267EF363B067101B6F81D1210B27EBE0B32FA2A -
Add the state sync configuration to your
config.toml
:sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \
s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC_SERVERS\"| ; \
s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \
s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.warden/config/config.toml
4. Start the node
Now you can start the node using the following command:
wardend start
It'll connect to persistent peers provided and start downloading blocks. You can check the logs to see the progress.
Next steps
If you want to create a validator in the testnet, follow the instructions in the Create a validator section.