Movement Network Validator Node Setup

# 1. Update and install dependencies
sudo apt update && sudo apt upgrade -y
sudo apt install curl build-essential git wget jq make gcc -y

# 2. Install Go (ensure it's the required version for Movement Network)
GO_VERSION="1.20.5"
wget "<https://golang.org/dl/go$GO_VERSION.linux-amd64.tar.gz>"
sudo tar -C /usr/local -xzf "go$GO_VERSION.linux-amd64.tar.gz"
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bashrc
source ~/.bashrc
go version  # Ensure Go is installed correctly

# 3. Clone Movement Network repository
git clone <https://github.com/movement-network/movement-node.git>
cd movement-node

# 4. Build the Movement Network binary
make install

# 5. Verify installation
movementd version  # Ensure the Movement node binary is installed

# 6. Initialize the Movement Network validator node
movementd init "<node_name>" --chain-id movementnet

# 7. Download the genesis file and set up configuration
wget <https://network.movement.network/genesis.json> -O ~/.movementd/config/genesis.json

# 8. Configure persistent peers and seeds
PEERS="<add_peers_here>"
SEEDS="<add_seeds_here>"
sed -i.bak -e "s/persistent_peers =.*/persistent_peers = \\\\"$PEERS\\\\"/" ~/.movementd/config/config.toml
sed -i.bak -e "s/seeds =.*/seeds = \\\\"$SEEDS\\\\"/" ~/.movementd/config/config.toml

# 9. Set minimum gas price and pruning options
sed -i 's/minimum-gas-prices =.*/minimum-gas-prices = "0.025umovement"/g' ~/.movementd/config/app.toml
sed -i 's/pruning =.*/pruning = "custom"/g' ~/.movementd/config/app.toml
sed -i 's/pruning-keep-recent =.*/pruning-keep-recent = "100"/g' ~/.movementd/config/app.toml
sed -i 's/pruning-keep-every =.*/pruning-keep-every = "0"/g' ~/.movementd/config/app.toml
sed -i 's/pruning-interval =.*/pruning-interval = "10"/g' ~/.movementd/config/app.toml

# 10. Start the node
movementd start

# 11. Create a new wallet (or import an existing one)
movementd keys add <wallet_name>   # Save the mnemonic securely

# 12. Fund your wallet (use faucet or tokens transfer)

# 13. Create a validator
movementd tx staking create-validator \\\\
  --amount=1000000umovement \\\\
  --pubkey=$(movementd tendermint show-validator) \\\\
  --moniker="<node_name>" \\\\
  --chain-id=movementnet \\\\
  --commission-rate="0.10" \\\\
  --commission-max-rate="0.20" \\\\
  --commission-max-change-rate="0.01" \\\\
  --min-self-delegation="1" \\\\
  --gas="auto" \\\\
  --gas-adjustment="1.5" \\\\
  --gas-prices="0.025umovement" \\\\
  --from=<wallet_name> \\\\
  --yes

This guide is designed to be code-focused for efficient setup. Adjust values like <node_name>, <wallet_name>, peers, and seeds as required.