# Syncing from genesis

This document is a how-to-guide on joining the FirmaChain network using ‘Syncing from genesis’.

### List of networks provided

Please check the genesis file, the seed and the github link according to the network you are planning to join.

<table data-header-hidden><thead><tr><th width="131"></th><th width="157"></th><th width="149"></th><th width="144"></th><th></th></tr></thead><tbody><tr><td><strong>Network</strong></td><td><strong>chain-id</strong></td><td><strong>genesis.json</strong></td><td><strong>seeds</strong></td><td><strong>github</strong></td></tr><tr><td>Mainnet</td><td>colosseum-1</td><td><a href="https://github.com/FirmaChain/mainnet/blob/main/colosseum-1/genesis.json">Link</a></td><td><a href="https://github.com/firmachain/mainnet#seed-nodes">Link</a></td><td><a href="https://github.com/firmachain/mainnet">Link</a></td></tr><tr><td>Testnet</td><td>imperium-4</td><td><a href="https://github.com/FirmaChain/testnet/blob/master/imperium-4/genesis.json">Link</a></td><td><a href="https://github.com/FirmaChain/testnet/tree/master/imperium-4#seed-node">Link</a></td><td><a href="https://github.com/FirmaChain/testnet/tree/master/imperium-4">Link</a></td></tr></tbody></table>

### Initialize the firmachain

Initialize the node and designate the moniker name.

```bash
firmachaind init <moniker-name> --chain-id <chain-id>
```

### Rename the moniker

Before activating the chain, you can modify the name of the node from the moniker field at \~/.firmachain/config/config.toml.

```bash
vim .firmachain/config/config.toml

# A custom human readable name for this node
moniker = "<moniker-name>"
```

### Setup minimum gas prices

Modify minimum gas fee.

```bash
sed -i -E 's/minimum-gas-prices = ".*"/minimum-gas-prices = "0.01ufct"/' ~/.firmachain/config/app.toml
```

### Set seeds

FirmaChain discloses information on seed nodes for the purpose of P2P connection.

```bash
# Mainnet
sed -i.bak -e "s/^seeds *=.*/seeds = \"f89dcc15241e30323ae6f491011779d53f9a5487@mainnet-seed1.firmachain.dev:26656,04cce0da4cf5ceb5ffc04d158faddfc5dc419154@mainnet-seed2.firmachain.dev:26656,940977bdc070422b3a62e4985f2fe79b7ee737f7@mainnet-seed3.firmachain.dev:26656\"/" ~/.firmachain/config/config.toml
```

```bash
# Testnet
sed -i.bak -e "s/^seeds *=.*/seeds = \"ddeaeb19dbe29558ac3f8569f99c0906adf7d8cf@testnet-seed1.firmachain.dev:26656,a195e07dad206431293ab141434331a8373221ab@testnet-seed2.firmachain.dev:26656\"/" ~/.firmachain/config/config.toml
```

### Download genesis.json file

After downloading the genesis.json file of the network you are planning to join, please swap the file with \~/.firmachain/config/genesis.json.

```bash
# Mainnet genesis.json
wget https://raw.githubusercontent.com/FirmaChain/mainnet/main/colosseum-1/genesis.json -O ~/.firmachain/config/genesis.json
```

```bash
# Testnet genesis.json
wget https://raw.githubusercontent.com/FirmaChain/testnet/master/imperium-4/genesis.json -O ~/.firmachain/config/genesis.json
```

### Syncing node

Finally, you can start the syncing process

```bash
firmachaind start
```

If the genesis sync halts showing the error message below, please upgrade the chain binary.

```bash
ERR UPGRADE "v0.3.5" NEEDED at height: 4806000:
panic: UPGRADE "v0.3.5" NEEDED at height: 4806000:
```

Please click on [the link](/master/node-and-validators-guide/run-a-full-node/upgrade-your-node.md) below for the upgrade guide.

### Option

You can start firmachain using Cosmovisor or System Daemon.

* [How to set Cosmovisor](/master/node-and-validators-guide/run-a-full-node/run-a-cosmovisor.md)
* [How to set System Demon](/master/node-and-validators-guide/run-a-full-node/run-a-system-deamon.md)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.firmachain.org/master/node-and-validators-guide/run-a-full-node/join-a-firmachain-network/syncing-from-genesis.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
