Comment on page
Running a full node
Clone the kroma-up Git repository and navigate to the cloned directory:
> git clone https://github.com/kroma-network/kroma-up.git
> cd kroma-up
Note: Please ensure you are cloning to the latest version of the repository.
Run the following command to generate keys and environment variables required to run a node:
> ./startup.sh mainnet
Step 3 will generate a .env file with default values, and we recommend using the default values unless you have specific needs or preferences. If you do have any specific needs or preferences, configure the .env file according to your requirements.
Here are the environment variables in the .env file:
[Environment variables in .env file]
Name | Description |
NETWORK_NAME | The name of the network to run on. Note that only sepolia is available currently. |
IMAGE_TAG__KROMA_GETH | The docker image tag of kroma-geth. Default value is provided while generating the .env file. |
IMAGE_TAG__KROMA_NODE | The docker image tag of kroma-node. Default value is provided while generating the .env file. |
IMAGE_TAG__KROMA_VALIDATOR | The docker image tag of kroma-validator. Default value is provided while generating the .env file. |
L1_RPC_ENDPOINT | The RPC endpoint of Layer 1 |
L2_RPC_ENDPOINT | The L2 Geth RPC endpoint, necessary for obtaining block traces during ZK fault proof generation. |
KROMA_GETH__BOOT_NODES | The address of a bootnode for kroma-geth client. Default value is provided while generating the .env file. |
KROMA_NODE__BOOT_NODES | The address of a bootnode for kroma-node client. Default value is provided while generating the .env file. |
KROMA_VALIDATOR__OUTPUT_SUBMITTER_ENABLED | A flag to determine if the validator node is going to submit checkpoint outputs. Default value is true. |
KROMA_VALIDATOR__CHALLENGER_ENABLED | A flag to determine if the validator node is going to validate unfinalized checkpoint outputs and initiate a challenge if an invalid checkpoint output is detected. Default value is false. |
KROMA_VALIDATOR__MNEMONIC | The mnemonic phrase of the Ethereum account connected to the validator client. This should be provided along with the HD path value. When this value is provided, the private key value should be empty. |
KROMA_VALIDATOR__HD_PATH | The HD path of the Ethereum account connected to the validator client. This should be provided along with the mNemonic value. When this value is provided, the private key value should be empty. |
KROMA_VALIDATOR__PRIVATE_KEY | The private key of the Ethereum account connected to the validator client. When this value is provided, the mnemonic and HD path values should be empty. |
KROMA_VALIDATOR__PROVER_RPC | The RPC address of the kroma-prover client. If KROMA_VALIDATOR__CHALLENGER_ENABLED is true, this value must be provided. |
Note that environment variables whose name starts with KROMA_VALIDATOR are only for running a validator node.
If you have followed the previous steps, you can now start your full node. Ensure that Docker is running, and execute the following command:
> docker compose --profile fullnode up -d
To remove a running full node, you can use the following command:
> docker compose --profile fullnode down -v
We plan to provide a dashboard for monitoring the nodes.
Last modified 3mo ago