Kroma
GithubCommunity
  • Introduction
    • Overview
    • KRO Tokenomics
      • Token Allocation
      • Token Distribution
      • Token Utilities
      • Airdrops
        • Initial Airdrop
    • Official Links
  • BUILDERS
    • Developers
      • Contract Deployment Tutorial
        • Using Foundry
        • Using Remix IDE
        • Using Hardhat
      • JSON-RPC API
      • Oracles
    • Node Operators
      • Kroma MPT Migration Guide
      • Running a Full Node
      • Running a Kroma v2 Validator Node
        • How to Migrate Your Validator to KRO-based Validator System
      • How to Sync Blocks Using a Snapshot
      • FAQ
      • [Deprecated] Running a Kroma v1 Validator Node
        • How to Check and Claim the Validator Reward
    • Network Information
    • Protocol Contracts
    • Testnet
      • Setup
      • Faucet
      • Bridge
      • Contract Addresses
  • USERS
    • Wallet Configuration
    • Bridge
    • Block Explorer
    • How to Swap legacy USDC to upgradable USDC
  • Governance
    • Kroma Security Council
  • Kroma Guardian House
    • Overview
    • Philosophy
    • KRO & KGH NFT Staking
      • Validator Boosting by KGH NFT
      • How to Get KRO
      • FAQ
    • KGH NFT Migration & KYC
      • KGH NFT Migration
      • How to Complete KYC with Argos
    • KGH NFT Sales (Ended)
      • KGH Utilities
      • Referral Program: Expand Your Impact
      • Estimated Reward Value
    • Notice
  • Resources
    • Security
    • Brand Kit
    • FAQs
    • Glossary
Powered by GitBook
On this page
  • STEP 1: Install Prerequisites
  • STEP 2: Clone the kroma-up Git Repository
  • STEP 3: Start up the Environment
  • STEP 4: Configure the Node
  • STEP 5: Start the Full Node
  • Remove a running Full Node
  • Monitoring

Was this helpful?

  1. BUILDERS
  2. Node Operators

Running a Full Node

PreviousKroma MPT Migration GuideNextRunning a Kroma v2 Validator Node

Last updated 10 months ago

Was this helpful?

STEP 1: Install Prerequisites

We recommend using Docker to run a node on Kroma. Make sure you have and installed.

STEP 2: Clone the kroma-up Git Repository

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.

STEP 3: Start up the Environment

Run the following command to generate keys and environment variables required to run a node:

./startup.sh <network>

STEP 4: Configure the Node

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.

STEP 5: Start the Full 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 -f docker-compose-<network>.yml --profile fullnode up -d

Remove a running Full Node

To remove a running full node, you can use the following command:

docker compose -f docker-compose-<network>.yml --profile fullnode down -v

Monitoring

We plan to provide a dashboard for monitoring the nodes.

For more information on environment variables, please refer to the .

Docker
Git
Github documentation