Установка ноды Initia
О проекте:
"Наша миссия заключается в том, чтобы с нуля переосмыслить опыт работы с многоцепочечными сетями. Легко интегрируя архитектуру, продукт и экономические системы, Initia предлагает целостное решение, которое преобразует работу, ощущения и взаимодействие сетей. "
Требования:
Memory: 16 GB RAM CPU: 4 cores Disk: 1 TB SSD Bandwidth: 1 Gbps
Социальные сети и полезные линки
X
Discord
Site
Validator Onboard Form
Faucet
Initia Docs
Validator Tasks
Установка:
sudo apt update && sudo apt upgrade -y
sudo apt install make clang git pkg-config libssl-dev build-essential git gcc chrony curl jq ncdu bsdmainutils htop net-tools lsof fail2ban wget screen -y
ver="1.22.2" && \ 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" >> $HOME/.bash_profile && \ source $HOME/.bash_profile && \ go version
Клонируем репозиторий, билдим бинарник и перемещаем
cd $HOME git clone https://github.com/initia-labs/initia cd initia git checkout v0.2.14 make install mv ~/go/bin/initiad /usr/local/bin/
Задаем переменные, "your_name" - меняем на свои значения
INITIA_CHAIN="initiation-1" INITIA_MONIKER="your_name" INITIA_WALLET="your_name" echo 'export INITIA_CHAIN='${INITIA_CHAIN} >> $HOME/.bash_profile echo 'export INITIA_MONIKER='${INITIA_MONIKER} >> $HOME/.bash_profile echo 'export INITIA_WALLET='${INITIA_WALLET} >> $HOME/.bash_profile source $HOME/.bash_profile
initiad init $INITIA_MONIKER --chain-id $INITIA_CHAIN
wget -O $HOME/.initia/config/genesis.json "https://initia.s3.ap-southeast-1.amazonaws.com/initiation-1/genesis.json"
Опционально
pruning="custom" pruning_keep_recent="100" pruning_interval="10" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.initia/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.initia/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.initia/config/app.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.15uinit,0.01uusdc\"|" $HOME/.initia/config/app.toml
peers="5cf0f056fcff9a2a5bad1b3acbae7eec3e425979@158.220.90.188:26656,94faaf091387b85032428bfaad937734e92e50c2@31.220.80.110:26656,66abd758f6971eb8227fc54d11cb56ca1ca280e6@65.109.113.251:13656,146d4b34ac817f7a2ac3e9c5a7207306ceb4e7d7@38.242.152.113:26656,576569a43bb8d5f3d58ff8aa52c6906d576c211e@38.242.221.49:15656,5c2a752c9b1952dbed075c56c600c3a79b58c395@195.3.221.9:26686" sed -i -e "s|^persistent_peers *=.*|persistent_peers = \"$peers\"|" $HOME/.initia/config/config.toml seeds="ade4d8bc8cbe014af6ebdf3cb7b1e9ad36f412c0@testnet-seeds.polkachu.com:25756" sed -i.bak -e "s/^seeds =.*/seeds = \"$seeds\"/" $HOME/.initia/config/config.toml
Опционально
indexer="null" sed -i -e "s/^indexer *=.*/indexer = \"$indexer\"/" $HOME/.initia/config/config.toml
Чтобы ускорить процесс синхронизации, можете воспользоваться снапшотом или стейт-синхом у Polkachu, позже добавим в гайд линки на свои сервисы
tee /etc/systemd/system/initiad.service > /dev/null <<EOF [Unit] Description=Initia After=network-online.target [Service] User=$USER ExecStart=$(which initiad) start Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
systemctl daemon-reload && \ systemctl enable initiad && \ systemctl restart initiad && \ journalctl -fu initiad -o cat
initiad keys add $INITIA_WALLET
INITIA_ADDR=$(initiad keys show $INITIA_WALLET -a) echo 'export INITIA_ADDR='${INITIA_ADDR} >> $HOME/.bash_profile source $HOME/.bash_profile
Запрашиваем токены тут
initiad tx mstaking create-validator \ --amount 29000000uinit \ --from $INITIA_WALLET \ --commission-max-change-rate "0.05" \ --commission-max-rate "0.2" \ --commission-rate "0.1" \ --pubkey $(initiad tendermint show-validator) \ --moniker $INITIA_MONIKER \ --identity "your_identity" \ --security-contact="your_contact" \ --chain-id initiation-1 \ --gas=2000000 \ --fees=300000uinit
Добавляем адрес валидатора в переменную
INITIA_VALOPER=$(initiad keys show $INITIA_WALLET --bech val -a) echo 'export INITIA_VALOPER='${INITIA_VALOPER} >> $HOME/.bash_profile source $HOME/.bash_profile
systemctl stop initiad && systemctl disable initiad rm /etc/systemd/system/initiad.service rm /usr/local/bin/initiad rm -rf initia rm -rf .initia
Установка оракула
Клонируем репозиторий, билдим и перемещаем бинарник
git clone https://github.com/skip-mev/slinky.git cd slinky git checkout v0.4.3 make build && \ mv build/slinky /usr/local/bin/
Меняем конфигурацию оракула внутри app.toml
sed -i '/^\[oracle\]/,/^$/ s/^enabled = ".*"/enabled = "true"/' $HOME/.initia/config/app.toml sed -i 's|^oracle_address = ".*"|oracle_address = "0.0.0.0:8080"|g' $HOME/.initia/config/app.toml sed -i 's/^client_timeout = ".*"/client_timeout = "500ms"/' $HOME/.initia/config/app.toml sed -i 's/^metrics_enabled = ".*"/metrics_enabled = "true"/' $HOME/.initia/config/app.toml
sudo tee /etc/systemd/system/oracle.service > /dev/null <<EOF [Unit] Description=Initia Oracle After=network.target [Service] User=$USER Type=simple ExecStart=$(which slinky) --oracle-config-path root/slinky/config/core/oracle.json Restart=on-failure LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload && \ sudo systemctl enable oracle.service && \ sudo systemctl restart oracle.service && \ sudo journalctl -u oracle.service -f -o cat
systemctl stop oracle.service && \ systemctl disable oracle.service sudo rm /etc/systemd/system/oracle.service rm -rf $HOME/slinky sudo rm /usr/local/bin/slinky
Большое спасибо, за внимание и уделенное время
Наш TG канал по нодам — https://t.me/mmsnodes
Наш TG чат по нодам - https://t.me/mmsnodeschat
Наш TG канал по экосистеме Cosmos - https://t.me/cosmochannel_mms