|
| 1 | +# Namada Mainnet - guide for validators, full nodes, and users |
| 2 | + |
| 3 | +### Summary: |
| 4 | +- Namada binaries version: **[v1.0.0](https://github.com/anoma/namada/releases/tag/v1.0.0)** |
| 5 | +- CometBFT version **[v0.37.11](https://github.com/cometbft/cometbft/releases/tag/v0.37.11)** |
| 6 | +- Chain-id: **namada.5f5de2dd1b88cba30586420** |
| 7 | +- Starts: **Tuesday, December 3 @ 15:00 UTC** |
| 8 | + |
| 9 | +### Instructions for genesis validators: |
| 10 | + |
| 11 | +1. Install Namada **[v1.0.0](https://github.com/anoma/namada/releases/tag/v1.0.0)** by your preferred method (from source, precompiled binaries). Refer to the docs for [installation instructions](https://docs.namada.net/introduction/install). |
| 12 | + |
| 13 | +2. (Optional) By default, Namada will store its data in `$HOME/.local/share/namada` on Ubuntu systems. This is called the 'base directory'. For instructions on setting a different base directory, see [here](https://docs.namada.net/operators/ledger/base-directory). To check the default base directory on your OS, use `namadac utils default-base-dir`. |
| 14 | + |
| 15 | +3. Set the following environment variables |
| 16 | +``` |
| 17 | +export NAMADA_NETWORK_CONFIGS_SERVER="https://github.com/anoma/namada-mainnet-genesis/releases/download/mainnet-genesis" |
| 18 | +export VALIDATOR_ALIAS=<your-validator-alias> |
| 19 | +export CHAIN_ID=namada.5f5de2dd1b88cba30586420 |
| 20 | +``` |
| 21 | + |
| 22 | +4. Copy your pre-genesis `validator-wallet.toml` into the following location, creating the directory if necessary: |
| 23 | +```$BASE_DIR/pre-genesis/$VALIDATOR_ALIAS/validator-wallet.toml``` |
| 24 | +**Note:** on Ubuntu, this corresponds to |
| 25 | +```~/.local/share/namada/pre-genesis/$VALIDATOR_ALIAS/validator-wallet.toml``` |
| 26 | + |
| 27 | +5. Initialize your node: |
| 28 | +``` |
| 29 | +namadac utils join-network --chain-id $CHAIN_ID --genesis-validator $VALIDATOR_ALIAS |
| 30 | +``` |
| 31 | + |
| 32 | +6. Add some persistent peers to your `config.toml` file. First, select from the published list of peers at the bottom of this page. Then, open your node's configuration located at `$BASE_DIR/$CHAIN_ID/config.toml` and find the field `persistent_peers` (which should be empty). Add peers in the format `tcp://<node id>@<IP address>:<port>` separated by commas. Aim to add about 10 persistent peers to your config. |
| 33 | + |
| 34 | +**Example on Ubuntu:** |
| 35 | +In the file `~/.local/share/namada/$CHAIN_ID/config.toml` |
| 36 | +Add peers following this format (you can contribute your peers with the instructions found at the bottom of this page): |
| 37 | +``` |
| 38 | +persistent_peers = "tcp://[email protected]:26656,tcp://[email protected]:26656,tcp://[email protected]:46656" |
| 39 | +``` |
| 40 | +This can be done by executing the following examle command (replace addresses with your actual desired peers): |
| 41 | +```bash |
| 42 | +sed -i 's#persistent_peers = ".*"#persistent_peers = "'\ |
| 43 | + |
| 44 | + |
| 45 | + |
| 46 | +'"#' $HOME/.local/share/namada/namada.5f5de2dd1b88cba30586420/config.toml |
| 47 | +``` |
| 48 | + |
| 49 | +7. Start *before genesis time* and leave it running -- at genesis time, it will become active. Start your node using the command |
| 50 | +```namadan ledger run``` |
| 51 | +**Note: for instructions on running your node as a `systemd service`, see [here](https://docs.namada.net/operators/ledger/running-a-full-node#running-the-namada-ledger-as-a-systemd-service)** |
| 52 | +After the initial startup, you should see in the logs: |
| 53 | +```Waiting for ledger genesis time: DateTimeUtc(2024-12-03T15:00:00Z)``` |
| 54 | +If your node is correctly configured as a genesis validator, you should also see: |
| 55 | +```This node is a validator.``` |
| 56 | + |
| 57 | +8. At genesis time, once enough voting power is online, you should begin to see new blocks in your node's logs. |
| 58 | + |
| 59 | + |
| 60 | +### Instructions for full nodes: |
| 61 | +1. Same as above |
| 62 | +2. Same as above |
| 63 | +3. `export NAMADA_NETWORK_CONFIGS_SERVER` and `export CHAIN_ID` only |
| 64 | +4. Skip this step |
| 65 | +5. Omit the `--genesis-validator` argument: |
| 66 | +```namadac utils join-network --chain-id $CHAIN_ID``` |
| 67 | +6. Same as above |
| 68 | +7. Same as above, except you should see |
| 69 | +```This node is not a validator.``` |
| 70 | + |
| 71 | +### Instructions for users without running a node: |
| 72 | +Follow the same steps as for a full node, with the last required step being `namadac utils join-network --chain-id $CHAIN_ID`. You do not need to run a node or configure any peers. |
| 73 | + |
| 74 | +### Share your seed node or peer address |
| 75 | +Sharing is caring ❤️. If you want to share your seed node or peer address, please open a PR to this repo with an entry in the [README](./README.md) under either the `Seed nodes` or `Peers` section! |
| 76 | +In order to do this, you must provide your node-id, which can be done with the following command (must be run *after* starting your node): |
| 77 | +``` |
| 78 | +NODE_ID=$(cometbft show-node-id --home $HOME/.local/share/namada/$CHAIN_ID/cometbft/ | awk '{last_line = $0} END {print last_line}') |
| 79 | +echo $NODE_ID |
| 80 | +``` |
| 81 | + |
| 82 | +### Additional docs resources: |
| 83 | +- [Node configuration reference](https://docs.namada.net/operators/ledger/env-vars) |
| 84 | +- [`systemd` service file example](https://docs.namada.net/operators/ledger/running-a-full-node#running-the-namada-ledger-as-a-systemd-service) |
| 85 | +- [Operator reference](https://docs.namada.net/operators) |
0 commit comments