Skip to main content

Useful Commands for Flare Entity

Environment

export FLARE_NODE_DIR="/data/flare/node"
export FLARE_SYSTEMS_DIR="/data/flare/flare-systems-deployment"
export FDC_SUITE_DIR="/data/flare/fdc-suite-deployment"

Validator Node

cd $FLARE_NODE_DIR
docker compose ps
docker compose logs -f flare-node
docker compose restart flare-node

Health and NodeID:

curl -s http://127.0.0.1:9650/ext/health | jq

curl --data '{
"jsonrpc":"2.0",
"method":"info.getNodeID",
"id":1,
"params":{}
}' -H 'content-type:application/json;' \
http://127.0.0.1:9650/ext/info | jq -r ".result.nodeID"

Current validator status:

NODE_ID="NodeID-..."
curl --data '{
"jsonrpc": "2.0",
"method": "platform.getCurrentValidators",
"params": {
"nodeIDs": ["'"${NODE_ID}"'"]
},
"id": 1
}' -H 'content-type:application/json;' \
https://flare-api.flare.network/ext/P | jq

Flare Systems Stack

cd $FLARE_SYSTEMS_DIR
docker compose ps
docker compose logs -f system-client
docker compose logs -f c-chain-indexer
docker compose logs -f ftso-client
docker compose logs -f fdc-client
docker compose logs -f fast-updates

Regenerate config after .env changes:

cd $FLARE_SYSTEMS_DIR
./populate_config.sh
docker compose up -d

Pull and restart:

cd $FLARE_SYSTEMS_DIR
docker compose pull
./populate_config.sh
docker compose up -d

FDC Suite

Start all locally deployed node stacks:

for dir in \
nodes-mainnet/btc \
nodes-mainnet/doge \
nodes-mainnet/xrp \
nodes-mainnet/eth
do
cd "$FDC_SUITE_DIR/$dir"
docker compose up -d
done

Start verifier stacks:

for dir in \
verifiers/btc \
verifiers/doge \
verifiers/xrp \
evm-verifier \
web2-verifier
do
cd "$FDC_SUITE_DIR/$dir"
docker compose up -d
done

Regenerate FDC configs:

cd $FDC_SUITE_DIR
./generate-config.sh

Minimal Conditions

IDENTITY_ADDRESS="identity_without_0x"
curl "https://flare-systems-explorer-backend.flare.network/api/v0/entity?query=${IDENTITY_ADDRESS}" \
-H "Accept: application/json" | jq -r '.results[0].entityminimalconditions'

Rewards

Validator rewards:

NODE_ID="NodeID-..."
EPOCH_ID="288"
curl -s "https://raw.githubusercontent.com/flare-foundation/reward-scripts/refs/heads/main/generated-files/reward-epoch-${EPOCH_ID}/nodes-data.json" | \
jq --arg node_id "${NODE_ID}" \
'.[] |
select(.nodeId == $node_id) |
(.validatorRewardAmount | tonumber / 1000000000000000000) |
"Validator Rewards: \((. * 100 | floor) / 100) FLR"'

FSP rewards:

IDENTITY_ADDRESS="0x..."
EPOCH_ID="288"
curl -s "https://raw.githubusercontent.com/flare-foundation/fsp-rewards/refs/heads/main/flare/${EPOCH_ID}/reward-distribution-data.json" | \
jq --arg identity_address "${IDENTITY_ADDRESS}" \
'.rewardClaims[] |
select(.body.beneficiary == ($identity_address | ascii_downcase)) |
(.body.amount | tonumber / 1000000000000000000) |
"FSP Rewards: \((. * 100 | floor) / 100) FLR"'

Backup

tar -czf /secure-backup/flare-staking-keys.tar.gz \
/data/flare/node/staking/staker.key \
/data/flare/node/staking/staker.crt \
/data/flare/node/staking/signer.key

Also back up operational configuration securely:

tar -czf /secure-backup/flare-entity-configs.tar.gz \
/data/flare/flare-systems-deployment/.env \
/data/flare/fdc-suite-deployment/.env \
/data/flare/fdc-suite-deployment/nodes-mainnet/eth/jwt.hex