Cosmos Ecosystem
November 10, 2022

Neutron

OFFICIAL LINKS

Website | Twitter | GitHub | Reddit | Discord | Docs

1. Обновление пакетов и установка окружения:

cd $HOME
sudo apt update && sudo apt update -y
sudo apt install make clang pkg-config libssl-dev build-essential git jq ncdu bsdmainutils htop -y < "/dev/null"

2. Установка Go:

cd $HOME
wget -O go1.19.1.linux-amd64.tar.gz https://golang.org/dl/go1.19.1.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz && rm go1.19.1.linux-amd64.tar.gz
echo 'export GOROOT=/usr/local/go' >> $HOME/.bash_profile
echo 'export GOPATH=$HOME/go' >> $HOME/.bash_profile
echo 'export GO111MODULE=on' >> $HOME/.bash_profile
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> $HOME/.bash_profile && . $HOME/.bash_profile
go version

3. Компиляция бинарного файла:

cd $HOME
git clone https://github.com/neutron-org/neutron
cd neutron
git checkout v0.1.0
make install
cd $HOME

4. Инициализация ноды и скачивание генезиса:

Придумайте свое название ноды и замените <<node_name>>

neutrond init <<node_name>> --chain-id quark-1
wget -qO $HOME/.neutrond/config/genesis.json "https://raw.githubusercontent.com/neutron-org/testnets/main/quark/genesis.json"

5. Добавление peers и seeds:

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.default "s/^seeds *=.*/seeds = \"$seeds\"/;" $HOME/.neutrond/config/config.toml
sed -i "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/;" $HOME/.neutrond/config/config.toml

6. Изменение настроек прунинга:

recent=100
every=0
interval=10

sed -i.back "s/pruning *=.*/pruning = \"custom\"/g" $HOME/.neutrond/config/app.toml
sed -i "s/pruning-keep-recent *=.*/pruning-keep-recent = \"$recent\"/g" $HOME/.neutrond/config/app.toml
sed -i "s/pruning-keep-every *=.*/pruning-keep-every = \"$every\"/g" $HOME/.neutrond/config/app.toml
sed -i "s/pruning-interval *=.*/pruning-interval = \"$interval\"/g" $HOME/.neutrond/config/app.toml

7. Создание и запуск сервисного файла:

echo "[Unit]
Description=neutrond
After=network.target

[Service]
User=$USER
Type=simple
ExecStart=$(which neutrond) start --home $HOME/.neutrond
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target" > $HOME/neutrond.service
sudo mv $HOME/neutrond.service /etc/systemd/system
sudo tee <<EOF >/dev/null /etc/systemd/journald.conf
Storage=persistent
EOF

sudo systemctl restart systemd-journald
sudo systemctl daemon-reload
sudo systemctl enable neutrond 

sudo systemctl restart neutrond 

8. Создаём кошелек, сохраняем мнемонику:

Придумайте свое название кошельку и замените <<wallet_name>>

neutrond keys add <<wallet_name>>

Восстановление кошелька используя мнемонику:

neutrond keys add <<wallet_name>> --recover

Проверить синхронизирована ли нода, если результат false – значит нода синхронизирована:

curl -s localhost:26657/status | jq .result.sync_info.catching_up

Запрашиваем тестовые токены в Telegram

Пример запроса: /request YOUR_NEUTRON_ADDRESS

Ограничение: 1 запрос в день, на один адрес, на один аккаунт

Проверить баланс кошелька

neutrond q bank balances <<address>>

9. Создаём валидатора

neutrond tx staking create-validator \
--moniker="<<node_name>>" \
--amount=1000000untrn \
--pubkey=$(neutrond tendermint show-validator) \
--chain-id=quark-1 \
--commission-max-change-rate=0.01 \
--commission-max-rate=0.20 \
--commission-rate=0.05 \
--min-self-delegation=1 \
--from=<<wallet_name>> \
--yes

Не забывайте сделать buckup файла priv_validator_key.json

Neutron monitoring | alerting

Полезные команды CLI в Сosmos sdk