0G DA Client node

This document outlines the steps to setup your own DA client.

⚙️ Hardware Requirement

- Memory: 8 GB
- CPU: 2 cores
- Bandwidth: 100 MBps for Download / Upload

Installation dependencies

sudo apt-get update
sudo apt-get install cmake 

Install 0G DA Client

cd $HOME
git clone -b v1.0.0-testnet https://github.com/0glabs/0g-da-client.git
cd 0g-da-client
make build

Start DA client in screen mode

sudo apt-get install screen
# enter new screen
screen -S DAClient

Set 0G DA client variables

# pull variables
JSON_PORT=$(sed -n '/\[json-rpc\]/,/^address/ s/address = "0.0.0.0:\([0-9]*\)".*/\1/p' $HOME/.0gchain/config/app.toml)
ETH_RPC_ENDPOINT=http://$(wget -qO- eth0.me):$JSON_PORT
SOCKET_ADDRESS=http://$(wget -qO- eth0.me):34000

# print variables
echo JSON PORT:$JSON_PORT
echo ETH_RPC_ENDPOINT:$ETH_RPC_ENDPOINT
echo SOCKET_ADDRESS:$SOCKET_ADDRESS

Export private key temporary

PRIVATE_KEY=$(0gchaind keys unsafe-export-eth-key $WALLET_NAME)
echo PRIVATE_KEY:$PRIVATE_KEY

Start 0G DA client node

cd $HOME/0g-da-client/disperser
./bin/combined \
    --chain.rpc $ETH_RPC_ENDPOINT \
    --chain.private-key $PRIVATE_KEY \
    --chain.receipt-wait-rounds 180 \
    --chain.receipt-wait-interval 1s \
    --chain.gas-limit 2000000 \
    --combined-server.use-memory-db \
    --combined-server.storage.kv-db-path ./root/0g-storage-kv/run \
    --combined-server.storage.time-to-expire 300 \
    --disperser-server.grpc-port 51001 \
    --batcher.da-entrance-contract 0xDFC8B84e3C98e8b550c7FEF00BCB2d8742d80a69 \
    --batcher.da-signers-contract 0x0000000000000000000000000000000000001000 \
    --batcher.finalizer-interval 20s \
    --batcher.confirmer-num 3 \
    --batcher.max-num-retries-for-sign 3 \
    --batcher.finalized-block-count 50 \
    --batcher.batch-size-limit 500 \
    --batcher.encoding-interval 3s \
    --batcher.encoding-request-queue-size 1 \
    --batcher.pull-interval 10s \
    --batcher.signing-interval 3s \
    --batcher.signed-pull-interval 20s \
    --encoder-socket $SOCKET_ADDRESS \
    --encoding-timeout 600s \
    --signing-timeout 600s \
    --chain-read-timeout 12s \
    --chain-write-timeout 13s \
    --combined-server.log.level-file trace \
    --combined-server.log.level-std  trace

Check DAClient screen

screen -r DAClient

Log examples

DEBUG[07-31|05:46:32.186|github.com/0glabs/0g-da-client/disperser/batcher/batcher.go:189]            [batcher] no encoded results to make a batch with caller=batcher.go:189
TRACE[07-31|05:46:34.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:34.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
INFO [07-31|05:46:34.302|github.com/0glabs/0g-da-client/disperser/batcher/finalizer.go:126]          [finalizer] latest finalized block number updated number=468,776 caller=finalizer.go:126
TRACE[07-31|05:46:37.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:37.186|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
INFO [07-31|05:46:39.313|github.com/0glabs/0g-da-client/disperser/batcher/finalizer.go:126]          [finalizer] latest finalized block number updated number=468,777 caller=finalizer.go:126
TRACE[07-31|05:46:40.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:40.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
INFO [07-31|05:46:42.215|github.com/0glabs/0g-da-client/disperser/batcher/batcher.go:279]            [batcher] Creating batch                 ts=2024-07-31T05:46:42+0200 caller=batcher.go:279
TRACE[07-31|05:46:42.215|github.com/0glabs/0g-da-client/disperser/batcher/encoded_blob_store.go:165] consumed encoded results                 fetched=0 encodedSize=0 caller=encoded_blob_store.go:165
DEBUG[07-31|05:46:42.215|github.com/0glabs/0g-da-client/disperser/batcher/batcher.go:189]            [batcher] no encoded results to make a batch with caller=batcher.go:189
TRACE[07-31|05:46:43.187|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:43.187|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
TRACE[07-31|05:46:46.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:46.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
TRACE[07-31|05:46:49.186|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:49.186|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
INFO [07-31|05:46:49.342|github.com/0glabs/0g-da-client/disperser/batcher/finalizer.go:126]          [finalizer] latest finalized block number updated number=468,778 caller=finalizer.go:126
TRACE[07-31|05:46:52.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:153]  [encodingstreamer] requesting processing blobs.. caller=encoding_streamer.go:153
INFO [07-31|05:46:52.185|github.com/0glabs/0g-da-client/disperser/batcher/encoding_streamer.go:168]  [encodingstreamer] no new metadatas to encode caller=encoding_streamer.go:168
INFO [07-31|05:46:52.186|github.com/0glabs/0g-da-client/disperser/batcher/batcher.go:279]            [batcher] Creating batch                 ts=2024-07-31T05:46:52+0200 caller=batcher.go:279
TRACE[07-31|05:46:52.186|github.com/0glabs/0g-da-client/disperser/batcher/encoded_blob_store.go:165] consumed encoded results                 fetched=0 encodedSize=0 caller=encoded_blob_store.go:165

Last updated