Validator Node

A Validator Node monitors the progress of the rollup protocol and actively participates to ensure the secure advancement of the chain state.

1. Prerequisites Before Deployment

Several requirements must be met before operating a Validator Node. These include:

  • A Validator Account

  • A Wallet Contract associated with the Validator Account

  • An approval and authorization process for the Wallet Contract

1-1. Creating a Validator Wallet Contract

To deploy a Validator Node, users must create their own contract wallet using their account.

  • The contract can only be controlled by the deploying account.

  • At this stage, the validator has not yet been granted authorization and must go through an additional approval process.

  • A Wallet Contract can be deployed multiple times using the same account. However, if an account owns multiple wallets, it cannot be used to run a node. Please take caution when managing multiple wallets.

For detailed instructions on wallet creation, refer to the following repository:

1-2. Authorization Process

After creating the Wallet Contract, its address must be submitted to obtain authorization.

dKargo will review the request and grant Validator permissions upon approval.

For any questions or inquiries, please contact us through the dKargo support page.

2. Mainnet

Scheduled for public release in 2025.

3. Warehouse (Testnet)

Warehouse is a testnet that allows users to experiment before the official launch of the dKargo Mainnet.

3-1. Public L2 Arbitrum RPC EndPoints

3-2. Docker Images

  • Latest Docker Image: repo.dkargo.io:59083/warehouse-validator:v0.0.1

3-3. Required Custom Options

  • --node.staker.parent-chain-wallet.private-key

    • Private key of the wallet that operates the validator.

  • --init.url

    • Snapshot URL for downloading initialization data to enable fast synchronization.

  • --parent-chain.connection.url

    • Base layer endpoint URL (default: Arbitrum public RPC endpoints)

    • Parent chain endpoint URL (default: Arbitrum public RPC endpoints).

3-4. Running a Node via Docker

docker run -d -p 8547:8547 -p 8548:8548 -v "<LOCAL_DATA_PATH>:/home/user/.arbitrum" repo.dkargo.io:59083/warehouse-validator:v0.0.1 --node.staker.parent-chain-wallet.private-key=<PRIVATE_KEY>

3-5. Snapshot Sync

docker run -d -p 8547:8547 -p 8548:8548 -v "<LOCAL_DATA_PATH>:/home/user/.arbitrum" repo.dkargo.io:59083/warehouse-validator:v0.0.1 --node.staker.parent-chain-wallet.private-key=<PRIVATE_KEY> --init.url=<SNAPSHOT_URL>

3-6. Example (with snapshot)

docker run -d -p 8547:8547 -p 8548:8548 -v "/Users/shjang/nw-test/validator:/home/user/.arbitrum" repo.dkargo.io:59083/warehouse-validator:v0.0.1 --node.staker.parent-chain-wallet.private-key=<PRIVATE_KEY> --init.url="https://warehouse-snapshot.s3.ap-northeast-2.amazonaws.com/prune/latest/pruned.tar.gz"

Last updated