April 11
OG Node Guide | Гайд по ноде ОГ
Требования к серверу:
я взяла на хетцнере
ВИДЕО ГАЙД - тут
Установка
sudo apt-get update -y && sudo apt upgrade -y && sudo apt-get install make build-essential unzip lz4 gcc git jq -y
#устанавливаем го sudo rm -rf /usr/local/go curl -Ls https://go.dev/dl/go1.21.5.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local eval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh) eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)
NODE_MONIKER="MONIKER" #заменить MONIKER на имя своей ноды (придумать)
git clone https://github.com/0glabs/0g-chain.git #выкачиваем репозиторий проекта
cd 0g-chain #переходим в папку 0g-evmos git checkout v0.3.0 make install 0gchaind version #ответ 0.3.0
0gchaind config keyring-backend test
0gchaind config chain-id zgtendermint_16600-2 0gchaind init "$NODE_MONIKER" --chain-id zgtendermint_16600-2
sed -i -e 's|^seeds *=.*|seeds = "[email protected]:26656,[email protected]:26656,[email protected]:26656,[email protected]:26656"|' $HOME/.0gchain/config/config.toml
Доп настройки(прунинг/цена газа)(копируем одной командой):
sed -i \ -e 's|^pruning *=.*|pruning = "custom"|' \ -e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \ -e 's|^pruning-interval *=.*|pruning-interval = "17"|' \ $HOME/.0gchain/config/app.toml
sed -i -e 's|^minimum-gas-prices *=.*|minimum-gas-prices = "0.0025ua0gi"|' $HOME/.0gchain/config/app.toml
Загружаем генезис файл и адрбук:
curl -L https://snapshots-testnet.nodejumper.io/0g-testnet/genesis.json > $HOME/.0gchain/config/genesis.json
curl -L https://snapshots-testnet.nodejumper.io/0g-testnet/addrbook.json > $HOME/.0gchain/config/addrbook.json
sudo tee /etc/systemd/system/0gchaind.service > /dev/null << EOF [Unit] Description=OG Node After=network-online.target [Service] User=$USER ExecStart=$(which 0gchaind) start Restart=on-failure RestartSec=10 LimitNOFILE=10000 [Install] WantedBy=multi-user.target EOF
0gchaind tendermint unsafe-reset-all --home $HOME/.0gchaind --keep-addr-book
sudo systemctl daemon-reload sudo systemctl enable 0gchaind sudo systemctl start 0gchaind
sudo journalctl -u 0gchaind -f --no-hostname -o cat
0gchaind keys add wallet --eth #создать новый кошелек #запишите мнемонику!!! 0gchaind keys add wallet --recover --eth #восстановить существующий кошелек 0gchaind q bank balances $(0gchaind keys show wallet -a) #проверка баланса
Теперь нам необходимо получить кошелек формата евм, для этого:
0gchaind keys unsafe-export-eth-key wallet #команда выдаст вам приватный ключ - сохраните его!!! #что бы посмотреть адрес - просто импортируйте этот приватный ключ в свой мм
Идем в сюда и запрашиваем токены на адрес из метамаска (который добавили шагом ранее)
0gchaind status 2>&1 | jq -r '.SyncInfo.catching_up // .sync_info.catching_up' #ответ false - значит нода синхронизирована
Создание валидатора(делаем после полной синхронизации, а так же необходимо больше 1 токена на балансе):
0gchaind tx staking create-validator \ --amount=1000000ua0gi \ --pubkey=$(0gchaind tendermint show-validator) \ --moniker=$NODE_MONIKER \ --chain-id=zgtendermint_16600-2 \ --commission-rate=0.05 \ --commission-max-rate=0.10 \ --commission-max-change-rate=0.01 \ --min-self-delegation=1 \ --from=wallet \ --gas=auto \ --gas-prices=0.0025ua0gi \ --gas-adjustment=1.5 \ -y
Эксплорер сети тут