0G DA client Installation
Hardware Requirement
1. Install dependencies
sudo apt-get updatesudo apt-get install cmake
2. Install go
cd $HOME && \ver="1.22.0" && \wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \sudo rm -rf /usr/local/go && \sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \rm "go$ver.linux-amd64.tar.gz" && \echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \source ~/.bash_profile && \go version
3. Download the source code
git clone -b v1.0.0-testnet https://github.com/0glabs/0g-da-client.git
4. Build combined server
cd $HOME/0g-da-clientgit stashgit fetch --all --tagsgit checkout f8db250git submodule update --init
Configuration
nano /root/0g-da-client/disperser/Makefile
Replace your info at run_combined
function:
--chain.rpc http://YOUR_RPC
--chain.private-key YOUR_PRIVATE_KEY
--encoder-socket YOUR_DA_NODE_IP:34000
Sample Makefile:
run_combined: build_combined ./bin/combined \ --chain.rpc http://YOUR_RPC \ --chain.private-key YOUR_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 /runtime/ \ --combined-server.storage.time-to-expire 2592000 \ --disperser-server.grpc-port 51001 \ --batcher.da-entrance-contract 0x857C0A28A8634614BB2C96039Cf4a20AFF709Aa9 \ --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 \ --batcher.expiration-poll-interval 3600 \ --encoder-socket YOUR_DA_NODE_IP:34000 \ --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 \ --combined-server.log.path ./../run/run.log
5. Creat service
sudo tee /etc/systemd/system/0gdacli.service > /dev/null <<EOF[Unit]Description=0G-DA-ClI NodeAfter=network.target
[Service]User=rootWorkingDirectory=/root/0g-da-client/disperserExecStart=/usr/bin/make run_combinedRestart=alwaysRestartSec=10LimitNOFILE=65535Environment="PATH=/usr/local/go/bin:/usr/bin:/bin"
[Install]WantedBy=multi-user.targetEOF
6. Start service
sudo systemctl daemon-reload && \sudo systemctl enable 0gdacli && \sudo systemctl start 0gdacli && \sudo systemctl status 0gdacli
Check log:
sudo journalctl -u 0gdacli -f -o cat
# Stop Service and Delete node:
sudo systemctl stop 0gdaclisudo systemctl disable 0gdaclisudo rm /etc/systemd/system/0gdacli.servicerm -rf $HOME/0g-da-client