0g Storage KV Setup
Recommended Hardware: 4 Cores, 16GB RAM, 1TB of storage (NVME)
Install dependencies
sudo apt-get update -y
sudo apt-get install clang cmake build-essential -y
sudo apt install cargo
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
Install rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source $HOME/.cargo/env
Install binary
git clone -b v1.3.0 https://github.com/0glabs/0g-storage-kv.git
cd $HOME/0g-storage-kv
git stash
git fetch --all --tags
git checkout 99c91d95a1d664ffdc9700ef492a00bd76c9c5d1
git submodule update --init
cargo build --release
Copy config.toml
cp $HOME/0g-storage-kv/run/config_example.toml $HOME/0g-storage-kv/run/config.toml
Edit config.toml
nano $HOME/0g-storage-kv/run/config.toml
stream_ids = ["000000000000000000000000000000000000000000000000000000000000f2bd", "000000000000000000000000000000000000000000000000000000000000f009", "0000000000000000000000000000000000000000000000000000000000016879", "0000000000000000000000000000000000000000000000000000000000002e3d"]
db_dir = "db"
kv_db_dir = "kv.DB"
blockchain_rpc_endpoint = "https://evmrpc-testnet.0g.ai"
log_contract_address = "0xbD2C3F0E65eDF5582141C35969d66e34629cC768"
log_sync_start_block_number = 595059
rpc_enabled = true
rpc_listen_address = "0.0.0.0:6789"
zgs_node_urls = "http://<your_storage_node_ip>:5678,http://<your_storage_node_ip>:5679"
log_config_file = "log_config"
Create zgskv service (storage KV node)
sudo tee /etc/systemd/system/zgskv.service > /dev/null <<EOF
[Unit]
Description=ZGS-KV Node
After=network.target
[Service]
User=$USER
WorkingDirectory=$HOME/0g-storage-kv/run
ExecStart=$HOME/0g-storage-kv/target/release/zgs_kv --config $HOME/0g-storage-kv/run/config.toml
Restart=on-failure
RestartSec=10
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Start Storage KV node
sudo systemctl daemon-reload && \
sudo systemctl enable zgskv && \
sudo systemctl start zgskv
Check logs
sudo journalctl -u zgskv -f -o cat
Last updated