logo
ANDROMEDA

Installation

Recommended Hardware: 4 Cores, 8GB RAM, 300GB of storage (NVME)

Node Name
Wallet
Port
Add
# set environment variables
echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="moniker"" >> $HOME/.bash_profile
echo "export CHAIN_ID="junction"" >> $HOME/.bash_profile
echo "export PROJECT="airchains"" >> $HOME/.bash_profile
echo "export NETWORK="testnet"" >> $HOME/.bash_profile
echo "export DIRECTORY="$HOME/.junction"" >> $HOME/.bash_profile
source $HOME/.bash_profile

# install dependencies
sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential fail2ban ufw
sudo apt -qy upgrade

# install go
cd $HOME
bash <(curl -s "https://raw.githubusercontent.com/Andromeda-node/utils/main/auto_go_install.sh") -v 1.21.6
source ~/.bash_profile

# download binary
cd $HOME
rm -rf junction
wget https://github.com/airchains-network/junction/releases/download/v0.1.0/junctiond
chmod +x junctiond
sudo mv junctiond /usr/local/bin

# config and init app
junctiond config keyring-backend os
junctiond config chain-id junction
junctiond init "moniker" --chain-id junction

# download genesis and addrbook
wget -O $HOME/.junction/config/genesis.json https://files.andromedanode.co/airchains/genesis.json
wget -O $HOME/.junction/config/addrbook.json https://files.andromedanode.co/airchains/addrbook.json

# set seeds and peers
SEEDS=""
PEERS=""
sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.junction/config/config.toml


# config pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.junction/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.junction/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.junction/config/app.toml

# set minimum gas price, enable prometheus and disable indexing
sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.00001amf"|g' $HOME/.junction/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.junction/config/config.toml
sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.junction/config/config.toml

# create and enable service file
sudo tee /etc/systemd/system/junctiond.service > /dev/null <<EOF
[Unit]
Description=Airchains node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.junction
ExecStart=$(which junctiond) start --home $HOME/.junction
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable junctiond

# download latest chain data snapshot
if curl -s --head https://files.andromedanode.co/airchains/snap_airchains.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
    curl https://files.andromedanode.co/airchains/snap_airchains.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.junction
else
    bash <(curl -s https://raw.githubusercontent.com/Andromeda-node/utils/main/snapshot_finder.sh)
fi

# start service
sudo systemctl restart junctiond && sudo journalctl -u junctiond -f --no-hostname -o cat

Create validator

Moniker
Identity
Details
Amount, amf
Commission rate
Commission max rate
Commission max change rate
Website
#private validator key
junctiond comet show-validator

sudo tee $HOME/.junction/validator.json > /dev/null <<EOF
{
    "pubkey": {"#output private validator key},
    "amount": "1000000amf",
    "moniker": "moniker",
    "identity": "",
    "website": "https://andromedanode.co/",
    "details": "A heartfelt shoutout to Andromeda for their amazing support! Your contributions shine brightly, guiding us forward. We are deeply grateful. And to the world of blockchain, our love knows no bounds. ❤️ Thank you, Andromeda, for being such a vital part of our journey.",
    "commission-rate": "0.1",
    "commission-max-rate": "0.2",
    "commission-max-change-rate": "0.01",
    "min-self-delegation": "1"
}
EOF

junctiond tx staking create-validator $HOME/.junction/validator.json \
--from=$WALLET \
--chain-id=junction \
--gas auto --gas-adjustment 1.5 --gas-prices 0.0025amf

Security

Firewall security

Set the default to allow outgoing connections, deny all incoming, allow ssh and node p2p port

sudo apt install -y ufw
sudo ufw default allow outgoing 
sudo ufw default deny incoming 
sudo ufw allow ssh/tcp 
sudo ufw allow 26656/tcp
sudo ufw enable

Delete node

cd $HOME
sudo systemctl stop junctiond 
sudo systemctl disable junctiond 
sudo rm /etc/systemd/system/junctiond.service 
sudo systemctl daemon-reload 
sudo rm -rf $HOME/.junction
sudo rm -rf $(which junctiond)