# Building and running from source \[advanced]

The differences with the Testnet procedure as as follows:

**The code version**

In the `aleph-node` repository, you need to checkout the tag returned by <https://alephzero.org/developers#developer-resources> (Mainnet section).

**Environment variables**

Same as on the Testnet.

**The database snapshot**

Needs to be downloaded from: <https://azero-snapshots.dev/mainnet/rocksdb-pruned.html> This link will always point to the latest version of the snapshot, taken weekly.

You need to save it to `chains/mainnet` in your data directory.

**The chainspec**

You can download the chainspec from: <https://raw.githubusercontent.com/Cardinal-Cryptography/aleph-node/r-15.2.0/bin/node/src/resources/mainnet_chainspec.json> , where `r-15.2.0`is Mainnet version tag taken from <https://alephzero.org/developers#developer-resources> (Mainnet section).

**The bootnodes**

In your environment, set the `BOOT_NODES` to:

```bash
BOOT_NODES=/dns4/bootnode-eu-central-1-0.azero.dev/tcp/30333/p2p/12D3KooWEF1Eo7uFZWdqFsTPP7CehpRt5NeXFwCe3157qpoU5aqd/dns4/bootnode-eu-central-1-1.azero.dev/tcp/30333/p2p/12D3KooWSeKnKHwumcVuWz2g5wn5xyWZpZJzuZXHJrEdpi8bj4HR/dns4/bootnode-us-east-1-0.azero.dev/tcp/30333/p2p/12D3KooWFQSGvQii2gRGB5T4M6TXhM83JV4bTEhubCBpdoR6Rkwk/dns4/bootnode-us-east-1-1.azero.dev/tcp/30333/p2p/12D3KooWSX2TbzpengsKsXdNPs6g2aQpp91qduL5FPax2SqgCaxa
```
