Помойка НЕ УДАЛЯТЬ
Massa
⠀Изменить загрузочные ноды в конфиге
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh) \ -rb
⠀Иногда бывают проблемы с запуском ноды из-за нехватки загрузочных нод (количество увеличивалось в начале установки), для помощи сообществу можно добавить свою ноду в список загрузочных нод, сделав PR.
Нода не запускается
⠀Вероятно нода не может запуститься из-за проблем с загрузочными нодами, особенно, если в логе ошибка
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: parsing error : public key bs58_check parsing error
⠀Для их обновления нужно выполнить пачку команд
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Massa/main/multi_tool.sh) -rb; \ systemctl restart massad
Iron Fish
⠀Изменить кусок кода, чтобы синхронизация не останавливалась
docker exec -t iron_fish_node sh -c "sed -i 's%REQUEST_BLOCKS_PER_MESSAGE.*%REQUEST_BLOCKS_PER_MESSAGE = 5%' /usr/src/app/node_modules/ironfish/src/syncer.ts"
⠀Добавить команды в систему в виде переменных:
- Просмотр лога ноды;
- Просмотр информации о ноде;
- Сокращение команды для выполнения действий в контейнере.
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n ifn_log -v "docker logs iron_fish_node -fn 100" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n if_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/node_info.sh) -l RU 2> /dev/null" -a . <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n ironfish -v "docker exec -it iron_fish_node ironfish" -a
ironfish config:set enableTelemetry true; \ ironfish config:set nodeName $iron_fish_moniker; \ ironfish config:set blockGraffiti $iron_fish_moniker
⠀Перезапустить ноду для применения всех изменений
docker restart iron_fish_node
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n iron_fish_wallet_name
⠀Поместить JSON файл для импорта кошелька в корневую папку системы (команда отображает путь)
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
⠀Скопировать файл для импорта кошелька в Docker контейнер
docker cp $HOME/iron_fish_${iron_fish_wallet_name}.json iron_fish_node:/usr/src/app/iron_fish_${iron_fish_wallet_name}.json
ironfish accounts:import "iron_fish_${iron_fish_wallet_name}.json"; \ ironfish accounts:use $iron_fish_wallet_name
ironfish accounts:create $iron_fish_wallet_name
⠀Установить кошелёк как кошелёк по умолчанию
ironfish accounts:use $iron_fish_wallet_name
⠀Экспортировать созданный кошелёк
ironfish accounts:export $iron_fish_wallet_name "iron_fish_${iron_fish_wallet_name}.json"
⠀Скопировать файл для импорта кошелька на хост
docker cp iron_fish_node:/usr/src/app/iron_fish_${iron_fish_wallet_name}.json $HOME/iron_fish_${iron_fish_wallet_name}.json
⠀Сделать резервную копию файла для импорта кошелька, сохранив его в надёжном месте (команда отображает путь)
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
Linux (автоматический)
⠀Запустить скрипт, ввести название ноды, название кошелька и дождаться окончания установки
⠀При нахождении файла с названием ниже скрипт импортирует кошелёк
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Iron_Fish/main/multi_tool.sh)
⠀Сделать резервную копию файла для импорта кошелька, сохранив его в надёжном месте (команда отображает путь)
echo $HOME/iron_fish_${iron_fish_wallet_name}.json
Майнер
Запуск
if_node_info
⠀Запросить монеты с крана (необходимо ввести почту и нажать Enter
)
ironfish faucet
if_node_info
⠀Запустить контейнер с майнером
⠀Команда ниже запускает майнер, использующий общее количество потоков минус один. При желании нужно стереть значение после опции -t
и вписать своё количество используемых майнером потоков.
docker run -dit --name iron_fish_miner --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest miners:start -t `bc <<< "$(lscpu --json | jq -r ".lscpu[4].data")-1"`
⠀Добавить команду для просмотра лога майнера в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n ifm_log -v "docker logs iron_fish_miner -f" -a
Изменение количества потоков
docker rm iron_fish_miner -f
⠀Перезапустить майнер с нужным количеством потоков (изменить значение после опции -t
)
docker run -dit --name iron_fish_miner --restart always --network host -v $HOME/.ironfish:/root/.ironfish ghcr.io/iron-fish/ironfish:latest miners:start -t `bc <<< "$(lscpu --json | jq -r ".lscpu[4].data")-1"`
Evmos
Запуск
Подготовка
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/Evmos/main/multi_tool.sh)
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n evmos_moniker
evmosd config chain-id evmos_9000-1 evmosd config keyring-backend file
evmosd init "$evmos_moniker" --chain-id evmos_9000-1
Сделать резервную копию папки с настройками, сохранив себе на ПК (команда отображает путь)
echo $HOME/.evmosd/config/
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n evmos_wallet_name
⠀Восставить аккаунт валидатора
evmosd keys add "$evmos_wallet_name" --recover --keyring-backend file
⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для ноды
evmosd keys add "$evmos_wallet_name" --keyring-backend file
⠀Необходимо задать пароль, запомнить его и
⠀Добавить адрес кошелька в систему в виде переменной (необходимо ввести пароль от кошелька)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n evmos_wallet_address -v `evmosd keys show "$evmos_wallet_name" -a`
Запуск ноды
wget -qO $HOME/.evmosd/config/genesis.json https://raw.githubusercontent.com/tharsis/testnets/main/arsia_mons/genesis.json
⠀Отредактировать конфиг набором команд (копировать и выполнять всё)
sed -i -e "s%^moniker *=.*%moniker = \"$evmos_moniker\"%; "\ "s%^seeds *=.*%seeds = \"c36cec90ded95d162b85f8ecd00ecd7c8849ca75@arsiamons.seed.evmos.org:26656\"%; "\ "s%^persistent_peers *=.*%persistent_peers = \"847e72f31e1f87e8059231b4b9e3302989c22d3a@5.189.156.65:26656,`wget -qO - https://raw.githubusercontent.com/tharsis/testnets/main/arsia_mons/peers.txt | tr '\n' ',' | sed 's%,$%%'`\"%; "\ "s%^enable *=.*%enable = false%; " $HOME/.evmosd/config/config.toml
⠀Если на сервере стоит ещё одна нода, использующая Tendermint (Stratos, Findora и пр.), то дополнительно настроить конфиг в соответствии со статьёй
printf "[Unit] Description=Evmos Daemon After=network-online.target [Service] User=$USER ExecStart=`which evmosd` start Restart=on-failure RestartSec=3 LimitNOFILE=65535 [Install] WantedBy=multi-user.target" > /etc/systemd/system/evmosd.service
sudo systemctl daemon-reload sudo systemctl enable evmosd sudo systemctl restart evmosd
⠀Добавить команду для просмотра лога ноды в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n evmos_log -v "sudo journalctl -fn 100 -u evmosd" -a
⠀Добавить команду для просмотра информации о ноде в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n evmos_node_info -v ". <(wget -qO- https://raw.githubusercontent.com/SecorD0/Evmos/main/node_info.sh) -l RU 2> /dev/null" -a
⠀Несколько минут в логе будут сплошные ошибки, после чего нода подключится к сети и начнёт догонять текущую высоту
Создание валидатора
⠀Перейти на канал с краном в Discord севере
⠀Вывести команду для получения токенов
!faucet ADDRESS
evmosd keys show "$evmos_wallet_name" -a --keyring-backend file
⠀Дождаться окончания синхронизации ноды (пройдёт несколько минут)
evmos_node_info
⠀Можно установить аватар, добавив опции из одноимённого раздела
evmosd tx staking create-validator \ --amount 1000000000000aphoton \ --pubkey `evmosd tendermint show-validator` \ --moniker "$evmos_moniker" \ --from "$evmos_wallet_name" \ --chain-id evmos_9000-1 \ --commission-rate 0.10 \ --commission-max-rate 0.20 \ --commission-max-change-rate 0.01 \ --min-self-delegation 1000000 \ --gas 800000 \ --gas-prices 0.025aphoton \ --keyring-backend file
Archway
Регистрация
Удаление старой ноды
⠀В случае, если ранее была установлена нода остановить сервисный файл
sudo systemctl stop archwayd; \ sudo systemctl disable archwayd
archwayd unsafe-reset-all
rm -rf /etc/systemd/system/archwayd.service `which archwayd`
⠀Обновить список сервисных файлов
sudo systemctl daemon-reload
⠀Удалить директорию с данными ноды
rm -rf $HOME/.archway
Добавление в генезис
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/golang.sh)
git clone https://github.com/archway-network/archway; cd archway && git checkout main && make install; cd
⠀Переместить бинарный файл в папку с бинарными файлами
mv `which archwayd` /usr/bin/
⠀Придумать название ноды, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_moniker
⠀Придумать название кошелька, запустить команду и ввести название, тем самым добавить его в систему в виде переменной
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_wallet_name
archwayd init "$archway_moniker" --chain-id torii-1
archwayd config chain-id torii-1 archwayd config keyring-backend file
⠀Необходимо ввести мнемоническую фразу от кошелька и дважды пароль для защиты хранилища.
archwayd keys add "$archway_wallet_name" --recover --keyring-backend file
archwayd keys add "$archway_wallet_name" --keyring-backend file
⠀Необходимо задать пароль, запомнить его и
Сделать резервную копию папки с настройками, сохранив себе на ПК (команда отображает путь)
echo $HOME/.archway/config/
⠀Добавить адрес кошелька в систему в виде переменной (необходимо ввести пароль от кошелька)
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/miscellaneous/insert_variable.sh) -n archway_wallet_address -v `archwayd keys show "$archway_wallet_name" -a`
archwayd add-genesis-account "$archway_wallet_address" 1001000utorii
archwayd gentx "$archway_wallet_name" 1000000utorii \ --moniker "$archway_moniker" \ --pubkey `archwayd tendermint show-validator` \ --chain-id torii-1 \ --commission-rate 0.1 \ --commission-max-rate 0.2 \ --commission-max-change-rate 0.05 \ --output-document "$HOME/$archway_moniker.json"
Сделать резервную копию папки с настройками, сохранив в надёжном месте (команда отображает путь)
echo $HOME/.archway/config/
Подача PR в GitHub
⠀Перейти в GitHub
⠀Нажать «Add file», далее «Create new file»
⠀Заполнить данные и отправить Pull Request:
echo "$archway_moniker.json"
cat "$HOME/${archway_moniker}.json"
Форму заполнять не нужно, потому что никто никаких задач ещё не выполнил (подача gentx — это не выполненная задача).
wget -qO $HOME/.archway/config/addrbook.json https://raw.githubusercontent.com/SecorD0/Archway/main/addrbook.json
Создание валидатора
⠀Дождаться полной синхронизации ноды. Текущее состояние можно посмотреть при помощи команды
archway_node_info
⠀По окончании синхронизации необходимо запросить токены:
archway_node_info
2) Присоединиться к Discord серверу
3) Перейти в канал #🚰|faucet и запросить токены командой
!faucet archway1___
4) Проверить поступление 10 august
archway_node_info
⠀Для установки аватара необходимо добавить опцию --identity
и указать Keybase ключ.
archwayd tx staking create-validator \ --amount 9000000uaugust \ --moniker "$archway_moniker" \ --pubkey `archwayd tendermint show-validator` \ --commission-rate 0.01 \ --commission-max-rate 0.1 \ --commission-max-change-rate 0.1 \ --min-self-delegation 1 \ --from "$archway_wallet_name" \ --chain-id "$archway_chain_id"
Solana реинкарнация
Подготовка
⠀Запустить проверку последнего подтвержденного слота
if [ `tail -n 1000000 $HOME/solana/solana.log | grep -oPm1 "(?<=req_flush_root: Some\()([^%]+)(?=\) old_slot_flushes)" | tail -n1` -ge "110973418" ]; then echo -e "\033[1;32mGood\033[0m"; else echo -e "\033[0;31mBad\033[0m"; fi
- Если выводит
Good
— перейти к пункту «Всё хорошо»; - Если выводит
Bad
— перейти к пункту «Всё плохо».
sudo systemctl stop solana
⠀Обновить ноду до версии 1.8.11
solana-install init v1.8.11
Деплой Python программ на Linux
Установка
. <(wget -qO- https://raw.githubusercontent.com/SecorD0/utils/main/installers/mysql.sh)
⠀Выполнить предварительную настройку, запустив команду
sudo mysql_secure_installation
⠀Ответить на дальнейшие вопросы y
или n
:
Solana
⠀Запустить проверку последнего подтвержденного слота
if [ `solana slot -ul --commitment finalized` -ge "$slot" ]; then echo -e "\033[1;32mGood\033[0m"; else echo -e "\033[0;31mBad\033[0m"; fi
- Если выводит
Good
— перейти к пункту «Всё хорошо»; - Если выводит
Bad
— перейти к пункту «Всё плохо».