🔌Installation

💻 Hardware Requirements

ComponentsMinimum Requirements

CPU

4

RAM

8+ GB

STORAGE

+200 GB SSD

1️⃣ Installation packages and dependencies

sudo apt -q update
sudo apt -qy install curl git jq lz4 build-essential
sudo apt -qy upgrade
sudo apt-get update && apt-get install -y libssl-dev

➡️ Go Installation

cd $HOME
VER="1.23.0"
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"
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:~/go/bin" >> ~/.bash_profile
source $HOME/.bash_profile
[ ! -d ~/go/bin ] && mkdir -p ~/go/bin

2️⃣ Install node

echo "export FIAMMA_PORT="37"" >> $HOME/.bash_profile
source $HOME/.bash_profile
cd $HOME
rm -rf fiamma
git clone https://github.com/fiamma-chain/fiamma
cd fiamma
git checkout v1.0.0
make build
mkdir -p ~/.fiamma/cosmovisor/upgrades/1.0.0/bin
mv $HOME/fiamma/build/fiammad ~/.fiamma/cosmovisor/upgrades/1.0.0/bin/
sudo ln -s ~/.fiamma/cosmovisor/upgrades/1.0.0 ~/.fiamma/cosmovisor/current -f
sudo ln -s ~/.fiamma/cosmovisor/current/bin/fiammad /usr/local/bin/fiammad -f
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.7.0

➡️ Create a service

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

[Service]
User=$USER
ExecStart=$(which cosmovisor) run start --home $HOME/.fiamma
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
Environment="DAEMON_HOME=${HOME}/.fiamma"
Environment="DAEMON_NAME=fiammad"
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:~/.fiamma/cosmovisor/current/bin"

[Install]
WantedBy=multi-user.target
EOF

➡️ Let's activate it

sudo systemctl daemon-reload
sudo systemctl enable fiammad
cd

➡️ Initialize the node

fiammad init  --chain-id fiamma-testnet-1
sed -i -e "s|^node *=.*|node = \"tcp://localhost:${FIAMMA_PORT}657\"|" $HOME/.fiamma/config/client.toml
sed -i -e "s|^keyring-backend *=.*|keyring-backend = \"test\"|" $HOME/.fiamma/config/client.toml
sed -i -e "s|^chain-id *=.*|chain-id = \"fiamma-testnet-1\"|" $HOME/.fiamma/config/client.toml

➡️ Genesis addrbook

curl https://raw.githubusercontent.com/fiamma-chain/networks/refs/heads/main/fiamma-testnet-1/genesis.json -o ~/.fiamma/config/genesis.json
curl https://raw.githubusercontent.com/MictoNode/fiamma-chain/main/addrbook.json -o ~/.fiamma/config/addrbook.json

➡️ Port

sed -i.bak -e "s%:1317%:${FIAMMA_PORT}317%g;
s%:8080%:${FIAMMA_PORT}080%g;
s%:9090%:${FIAMMA_PORT}090%g;
s%:9091%:${FIAMMA_PORT}091%g;
s%:8545%:${FIAMMA_PORT}545%g;
s%:8546%:${FIAMMA_PORT}546%g;
s%:6065%:${FIAMMA_PORT}065%g" $HOME/.fiamma/config/app.toml
sed -i.bak -e "s%:26658%:${FIAMMA_PORT}658%g;
s%:26657%:${FIAMMA_PORT}657%g;
s%:6060%:${FIAMMA_PORT}060%g;
s%:26656%:${FIAMMA_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${FIAMMA_PORT}656\"%;
s%:26660%:${FIAMMA_PORT}660%g" $HOME/.fiamma/config/config.toml

➡️ Peers and Seeds

peers="1eddb7a76a322d403d104af6e85b28c9573526b6@213.239.198.181:40656,6d82e5b3027cf5e55023bb328b1a1839ec2f5453@185.255.131.227:50656,e34b509c949526a24d6397dfaf4673b985cfa204@172.31.31.70:26656,ddb0fd5cf50a7d9c816a08dfcaa14099f7cf2493@65.109.112.148:40056,dc8d012a12e9224180e3e219ccb54de6d3eaf5d7@172.31.26.39:26656,1a0ff9e5c08df76b19556b50aff82ec6dfd5beee@65.109.53.24:45656,0da79bbcf32b442196f8324d2f674664ac15b82e@54.178.81.164:26656,870479137aa2b01e360b34f43ed0c5a20fdc3bc0@77.90.6.177:37656,b0335d1c77fa96c27458390e6c48d2bf74c1533b@176.9.24.46:50656,5463634b4078545b54e5beb26ccde4a35d06ec13@65.109.83.40:29556,5aa6e9894f17f741f602c6fe83e74e2640a5cf3a@172.31.17.72:26656,ba8c0b18fe85110e1bdfe5634c365f56c14fbd97@78.46.19.116:26656,7f607b5d6a5885888f65f219440c07867eee72ff@23.88.5.169:22656,cd574a3d8c022e8a6f19b010230069ba9987d905@164.132.247.253:56396,1a99dd97bc913ad609b869b57bcb5745e5de058e@185.217.125.23:22656,4a0bae4defde6cc60edf379b2a4d4dfe3f283b37@65.109.24.155:20156"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.fiamma/config/config.toml

➡️ Pruning

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

➡️ Gas Settings

sed -i 's|minimum-gas-prices =.*|minimum-gas-prices = "0.00001ufia"|g' $HOME/.fiamma/config/app.toml

➡️ Indexer

sed -i -e "s/^indexer *=.*/indexer = \"null\"/" $HOME/.fiamma/config/config.toml

➡️ Snap (thx stavr)

fiammad tendermint unsafe-reset-all --home $HOME/.fiamma
if curl -s --head curl https://fiamma-t.snapshot.stavr.tech/fiamma-snap.tar.lz4 | head -n 1 | grep "200" > /dev/null; then
  curl https://fiamma-t.snapshot.stavr.tech/fiamma-snap.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.fiamma
    else
  echo no have snap
fi

➡️ Let's get started

sudo systemctl start fiammad && sudo journalctl -u fiammad -f -o cat

➡️ Log Command

journalctl -u fiammad -f -o cat

➡️ Create wallet

fiammad keys add 

don't forget to backup the wallet words!

➡️ Import wallet

fiammad keys add  --recover

➡️ Faucet

➡️ Create Validator

Reminder: You can't create a validator without Sync. You must have to catch the latest block.

cd $HOME

The code below will give you pubkey. Save it. You'll need it.

fiammad tendermint show-validator
nano validator.json

Copy the below directly. Make the changes and save (ctrl+x, y, enter).

{
        "pubkey": ,
        "amount": "10000ufia",
        "moniker": "myvalidator",
        "identity": "optional identity signature (ex. UPort or Keybase)",
        "website": "validator's (optional) website",
        "security": "validator's (optional) security contact email",
        "details": "validator's (optional) details",
        "commission-rate": "0.1",
        "commission-max-rate": "0.2",
        "commission-max-change-rate": "0.01",
        "min-self-delegation": "1"
}
fiammad tx staking create-validator $HOME/validator.json \
    --from= \
    --chain-id=fiamma-testnet-1 \
    --gas auto \
    --gas-adjustment 1.5

➡️ Delegate to Yourself

Find your valoper address with the code below

fiammad q staking validator $(fiammad keys show  --bech val -a) --node=http://localhost:657
fiammad tx staking delegate  10000ufia \
--chain-id fiamma-testnet-1 \
--from "" \
--gas auto \
--gas-adjustment 1.5

➡️ Edit Validator

fiammad tx staking edit-validator \
--chain-id fiamma-testnet-1 \
--commission-rate 0.1 \
--new-moniker "" \
--identity "" \
--details "" \
--website "" \
--security-contact "" \
--from "" \
--node http://localhost:657 \
--gas auto \
--gas-adjustment 1.5

➡️ Complete deletion

cd $HOME
sudo systemctl stop fiammad
sudo systemctl disable fiammad
sudo rm -rf /etc/systemd/system/fiammad.service
sudo systemctl daemon-reload
sudo rm -f /usr/local/bin/fiammad
sudo rm -f $(which fiamma)
sudo rm -rf $HOME/.fiamma $HOME/fiamma
sed -i "/FIAMMA_/d" $HOME/.bash_profile

➡️ Block check

local_height=$(curl -s localhost:657/status | jq -r .result.sync_info.latest_block_height); network_height=$(curl -s https://fiamma-testnet-rpc.mictonode.com/status | jq -r .result.sync_info.latest_block_height); blocks_left=$((network_height - local_height)); echo "Your node height: $local_height"; echo "Network height: $network_height"; echo "Blocks left: $blocks_left"
  • Your node height - the current block of your node

  • Network height - the last block of the network

  • Blocks left - how many blocks your node has left to sync.

Last updated