LogoLogo
  • Introduction
  • Testnet
    • 0G-Labs
      • Network Overview
      • Installation
        • Storage Node
        • Data Availability Node
        • Data Availability Client
    • Aztec
      • Installation
      • Register as Validator
    • Coretensor
      • Installation
    • Cysic
      • Installation
    • Dill
      • Network Overview
      • Installation
    • Drosera
      • Installation
        • Operator
        • Add Second Operator
        • Trapper
    • Farcaster
      • Installation
    • Warden
      • Network Overview
      • Installation
      • Snapshot & State Sync
      • Validator Setup
  • Mainnet
    • Humanode
      • Installation
    • Initverse
      • Installation
  • Archieve
    • Privasea
      • Installation
  • Services
  • My Contact
Powered by GitBook
On this page
  • Prerequiretes
  • Installation
  • Start the Node

Was this helpful?

  1. Testnet
  2. 0G-Labs
  3. Installation

Data Availability Node

Prerequiretes

Hardware
Minimum Spesification

CPU

8 Cores

RAM

16 GB

Disk

1 TB NVMe SSD

Bandwidth

100 Mbps

Installation

Update & Install packages

sudo apt-get update && sudo git apt-get install clang cmake build-essential pkg-config libssl-dev protobuf-compiler llvm llvm-dev -y

Clone the repository

git clone https://github.com/0glabs/0g-da-node.git
cd 0g-da-node

Build the project

cargo build --release

Download necessary parameters

./dev_support/download_params.sh

Generate BLS Private Key (if needed)

cargo run --bin key-gen

Configure the Node

Create a configuration file named config.toml

nano config.toml
log_level = "info"

data_path = "./db/"

# path to downloaded params folder
encoder_params_dir = "params/" 

# grpc server listen address
grpc_listen_address = "0.0.0.0:34000"
# chain eth rpc endpoint
eth_rpc_endpoint = "https://evmrpc-testnet.0g.ai"
# public grpc service socket address to register in DA contract
# ip:34000 (keep same port as the grpc listen address)
# or if you have dns, fill your dns
socket_address = "<your-public-ip>:34000"
prometheus_exporter_address = "0.0.0.0:9090"

# data availability contract to interact with
da_entrance_address = "0x857C0A28A8634614BB2C96039Cf4a20AFF709Aa9" # testnet config and see testnet page for the latest info

# deployed block number of da entrance contract
start_block_number = 940000 # testnet config

# signer BLS private key
signer_bls_private_key = ""
# signer eth account private key
signer_eth_private_key = ""
# miner eth account private key, (could be the same as `signer_eth_private_key`, but not recommended)
miner_eth_private_key = ""

# whether to enable data availability sampling
enable_das = "true"
Key
Function
Used by

signer_bls_private_key

BLS-based signing for consensus

Validators in PoS or BLS-based systems

signer_eth_private_key

Signing transactions or blocks in Ethereum-based systems

Signers in PoA, PoS, or other systems requiring Ethereum signatures

miner_eth_private_key

Receiving mining or validator rewards

Miners or validators earning rewards

Start the Node

./target/release/server --config config.toml
PreviousStorage NodeNextData Availability Client

Last updated 5 days ago

Was this helpful?