November 9, 2022
Установка ноды Neutron
Neutron — это сеть блокчейнов, которая привносит смарт-контракты в блокчейны семейства Cosmos с помощью CosmWasm . Neutron работает с сетями по протоколу IBC. Безопасность Neutron (проверка блоков) обеспечивается сетью Cosmos Hub с использованием Interchain Security .
sudo apt update && sudo apt upgrade -y
устанавливаем необходимые утилиты:
sudo apt install curl build-essential git wget jq make gcc tmux chrony -y
указываем имя вашего валидатора, которое будет видно в проводнике:
NODENAME=<MONIKER>
сохраняем и импортируем переменные :
echo "export NODENAME=$NODENAME" >> $HOME/.bash_profile if [ ! $WALLET ]; then echo "export WALLET=wallet" >> $HOME/.bash_profile fi echo "export NEUTRON_CHAIN_ID=quark-1" >> $HOME/.bash_profile source $HOME/.bash_profile
ver="1.19.1" && \ 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
клонируем и собираем бинарный файл:
git clone https://github.com/neutron-org/neutron cd neutron git checkout v0.1.0 make install
neutrond init $NODENAME --chain-id $NEUTRON_CHAIN_ID
wget -qO $HOME/.neutrond/config/genesis.json "https://raw.githubusercontent.com/neutron-org/testnets/main/quark/genesis.json"
SEEDS="e2c07e8e6e808fb36cca0fc580e31216772841df@seed-1.quark.ntrn.info:26656,c89b8316f006075ad6ae37349220dd56796b92fa@tenderseed.ccvalidators.com:29001" PEERS="fcde59cbba742b86de260730d54daa60467c91a5@23.109.158.180:26656,5bdc67a5d5219aeda3c743e04fdcd72dcb150ba3@65.109.31.114:2480,3e9656706c94ae8b11596e53656c80cf092abe5d@65.21.250.197:46656,9cb73281f6774e42176905e548c134fc45bbe579@162.55.134.54:26656,27b07238cf2ea76acabd5d84d396d447d72aa01b@65.109.54.15:51656,f10c2cb08f82225a7ef2367709e8ac427d61d1b5@57.128.144.247:26656,20b4f9207cdc9d0310399f848f057621f7251846@222.106.187.13:40006,5019864f233cee00f3a6974d9ccaac65caa83807@162.19.31.150:55256,2144ce0e9e08b2a30c132fbde52101b753df788d@194.163.168.99:26656,b37326e3acd60d4e0ea2e3223d00633605fb4f79@nebula.p2p.org:26656" sed -i -e "s/^seeds *=.*/seeds = \"$SEEDS\"/; s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" $HOME/.neutrond/config/config.toml
pruning="custom" pruning_keep_recent="100" pruning_keep_every="0" pruning_interval="50" sed -i -e "s/^pruning *=.*/pruning = \"$pruning\"/" $HOME/.neutrond/config/app.toml sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"$pruning_keep_recent\"/" $HOME/.neutrond/config/app.toml sed -i -e "s/^pruning-keep-every *=.*/pruning-keep-every = \"$pruning_keep_every\"/" $HOME/.neutrond/config/app.toml sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"$pruning_interval\"/" $HOME/.neutrond/config/app.toml
устанавливаем минимальную цену газа:
sed -i -e "s/^minimum-gas-prices *=.*/minimum-gas-prices = \"0.001untrn\"/" $HOME/.neutrond/config/app.toml
sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.neutrond/config/config.toml
если нужно отключаем индексацию (indexer = "null"):
cd ~ nano $HOME/.neutrond/config/config.toml ctrl O, enter, ctrrl X
neutrond tendermint unsafe-reset-all --home $HOME/.neutrond
sudo tee /etc/systemd/system/neutrond.service > /dev/null <<EOF [Unit] Description=neutron After=network-online.target [Service] User=$USER ExecStart=$(which neutrond) start --home $HOME/.neutrond Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload sudo systemctl enable neutrond sudo systemctl restart neutrond && sudo journalctl -u neutrond -f -o cat
после завершения синхронизации загружаем переменные в систему:
source $HOME/.bash_profile
создаем или восстанавливаем кошелек:
neutrond keys add $WALLET
neutrond keys add $WALLET --recover
сохраняем информацию , вводим команды по очереди , в 1 и 2 вводим свой пароль:
NEUTRON_WALLET_ADDRESS=$(neutrond keys show $WALLET -a) NEUTRON_VALOPER_ADDRESS=$(neutrond keys show $WALLET --bech val -a) echo 'export NEUTRON_WALLET_ADDRESS='${NEUTRON_WALLET_ADDRESS} >> $HOME/.bash_profile echo 'export NEUTRON_VALOPER_ADDRESS='${NEUTRON_VALOPER_ADDRESS} >> $HOME/.bash_profile source $HOME/.bash_profile
neutrond tx staking create-validator \ --amount 1000000untrn \ --from $WALLET \ --commission-max-change-rate "0.01" \ --commission-max-rate "0.2" \ --commission-rate "0.06" \ --min-self-delegation "1" \ --pubkey $(neutrond tendermint show-validator) \ --moniker $NODENAME \ --chain-id $NEUTRON_CHAIN_ID --fees 550untrn
sudo systemctl stop neutrond sudo systemctl disable neutrond sudo rm /etc/systemd/system/neutron* -rf sudo rm $(which neutrond) -rf sudo rm $HOME/.neutron* -rf sudo rm $HOME/neutron -rf sed -i '/NEUTRON_/d' ~/.bash_profile