SOLANA
Купить сервер (PQ) Германия Аргентум
apt update && apt upgrade && apt install curl -y
https://docs.solanalabs.com/cli/install
export PATH="/root/.local/share/solana/install/active_release/bin:$PATH"
exit
solana-keygen new -o /root/solana/mainnet-validator-keypair.json
solana-keygen new -o /root/solana/testnet-validator-keypair.json
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential clang libudev-dev pkg-config libhidapi-dev librust-openssl-sys-dev librocksdb-dev libssl-dev libudev-dev pkg-config zlib1g-dev llvm
source "$HOME/.cargo/env"
cargo install solana-foundation-delegation-program-cli
solana-foundation-delegation-program --version
solana address -k ~/solana/mainnet-validator-keypair.json
solana balance ~/solana/mainnet-validator-keypair.json
cd /root/solana && solana-foundation-delegation-program apply --mainnet mainnet-validator-keypair.json --testnet testnet-validator-keypair.json --keypair mainnet-validator-keypair.json --confirm
https://solana.org/delegation-program
Команда для получения подписи для майннета:
solana sign-offchain-message код --keypair /root/solana/mainnet-validator-keypair.json
Команда для получения подписи для тестнета:
solana sign-offchain-message код --keypair /root/solana/testnet-validator-keypair.json
solana-keygen new -o /root/solana/testnet-withdrawer-keypair.json
solana-keygen new -o /root/solana/mainnet-withdrawer-keypair.json
solana-keygen new -o /root/solana/testnet-vote-account-keypair.json
solana address -k /root/solana/testnet-validator-keypair.json
solana create-vote-account -k /root/solana/testnet-validator-keypair.json /root/solana/testnet-vote-account-keypair.json /root/solana/testnet-validator-keypair.json /root/solana/testnet-withdrawer-keypair.json
solana address -k /root/solana/mainnet-withdrawer-keypair.json
solana-foundation-delegation-program sign-message адресвиздравера --keypair /root/solana/mainnet-validator-keypair.json
https://solana.org/tds22/signup/1
https://edgevana.com/solana-validator-servers
curl -sL yabs.sh | bash -s — -ig
bash <(wget -qO- http://legendsgroup.pro/node/solana-tuning)
Закинуть файлы на сервер в папку ubuntu
testnet-validator-keypair.json
testnet-vote-account-keypair.json
testnet-withdrawer-keypair.json
curl -sL yabs.sh | bash -s — -ig
/home/ubuntu/.ssh/authorized_keys
Положить туда исправленные ключи
validator-keypair.json
vote-account-keypair.json
withdrawer-keypair.json
/bin/bash -c "$(curl -fsSL https://api.margus.one/solana/install_stsolana.sh)"
/bin/bash -c "$(curl -fsSL https://api.margus.one/solana/install_autorun.sh)"
Сервисник /root/solana/solana.service
curl -fsSL https://api.margus.one/solana/snapshot.sh | bash
solana catchup --our-localhost 80 --follow --log
solana balance ~/solana/validator-keypair.json
solana-keygen new -o /root/solana/10selfstake-akk.json
solana create-stake-account /root/solana/10selfstake-akk.json 10 --stake-authority /root/solana/withdrawer-keypair.json --withdraw-authority /root/solana/withdrawer-keypair.json
solana delegate-stake --force /root/solana/10selfstake-akk.json /root/solana/vote-account-keypair.json --stake-authority /root/solana/withdrawer-keypair.json
solana stakes /root/solana/vote-account-keypair.json
Обновление ноды:
https://api.margus.one/solana/version
установка:
curl -fsSL https://api.margus.one/solana/update.sh | bash
Баланс:
cd /root/solana && solana withdraw-from-vote-account --authorized-withdrawer withdrawer-keypair.json vote-account-keypair.json адрес 1000
solana balance ~/solana/validator-keypair.json
Сброс сети
ulimit -n 1000000
лимиты поднять
solana-ledger-tool --ledger /mnt/ramdisk/ledger create-snapshot --snapshot-archive-path /root/solana/snapshots --hard-fork 237692255 --remove-account 16FMCmgLzCNNz6eTwGanbyN2ZxvTBSLuQ6DZhgeMshg 8pgXCMNXC8qyEFypuwpXyRxLXZdpM4Qo72gJ6k87A6wL 5ZCcFAzJ1zsFKe1KSZa9K92jhx7gkcKj97ci2DBo1vwj 25vqsfjk7Nv1prsQJmA4Xu1bN61s8LXCBGUPp8Rfy1UF GwtDQBghCTBgmX2cpEGNPxTEBUTQRaDMGTr5qychdGMj BTWmtJC8U5ZLMbBUUA1k6As62sYjPEjAiNAT55xYGdJU 5wAGiy15X1Jb2hkHnPDCM8oB9V42VNA9ftNVFK84dEgv D31EFnLgdiysi84Woo3of4JMu7VmasUS3Z7j9HYXCeLY FKAcEvNgSY79RpqsPNUV5gDyumopH4cEHqUxyfm8b8Ap 5x3825XS7M2A3Ekbn5VGGkvFoAg5qrRWkTrY4bARP1GL Cdkc8PPTeTNUPoZEfCY5AyetUrEdkZtNPMgz58nqyaHD A16q37opZdQMCbe5qJ6xpBB9usykfv8jZaMkxvZQi4GJ 7rcw5UtqgDTBBv2EcynNfYckgdAaH1MAsCjKgXMkN7Ri 7axKe5BTYBDD87ftzWbk5DfzWMGyRvqmWTduuo22Yaqy -- 237692255 /root/solana/snapshots
рекомендованный путь соланы пути к леджеру и снапу проверяй
если ошибка
Unable to process blockstore from starting slot 237693030 to 237692255; the ending slot is less than the starting slot. The starting slot will be the latest snapshot slot, or genesis if the --no-snapshot flag is specified or if no snapshots are found.
то
rm -rf /mnt/ramdisk/ledger/*
чистим леджер путь проверить
rm -rf /root/solana/snapshots/*
чистим папку снепов путь проверить
wget --trust-server-names http://testnet.solana.margus.one/snapshot.tar.bz2 -P /root/solana/snapshots
wget http://69.197.42.30:8000/snapshot-237692256-73LMDbUr3tMzuHgzacFwkjchHfTQF8jvDSaiprq3owTR.tar.zst
solana-install init 1.16.20
ставим новую солану
nano /root/solana/solana.service
в сервисник добавляем
--wait-for-supermajority 237692256 \
--expected-shred-version 5106 \
--expected-bank-hash 5F6SxymLj1v88JcupVgSHwiCBvtsu8ekA82E1ntaCPqh \
вот эти строчки
после
Environment="SOLANA_METRICS_CONFIG=host=https://metrics.solana.com:8086,db=tds,u=testnet_write,p=c4fa841aa918bf8274e3e2a44d77568d9861b3ea"
ExecStart=/root/.local/share/solana/install/active_release/bin/solana-validator \
этих строчек чтобы находились сохраняем
systemctl daemon-reload
ребутим демон
service solana start
запускамем солану
cd /mnt/ramdisk
solana-validator monitor
запускаем монитор и проверяем че там как
Если скипрейт высокий
2.
sudo apt update && sudo apt install fio -y
3.
sudo fio --name=randrw --ioengine=libaio --iodepth=16 --rw=randrw --bs=4k --direct=1 --size=10G -numjobs=8 -group_reporting --rwmixread=50 --directory=/root > 50%.txt
4.
sudo fio --name=randrw --ioengine=libaio --iodepth=16 --rw=randrw --bs=4k --direct=1 --size=10G -numjobs=8 -group_reporting --rwmixread=100 --directory=/root > 100%.txt
6.
Проверить кетчап, ждать пока догонит нода или скачать файндером
7.
Найти в папке root 2 файла: 50% и 100% и отправить их в поддержку Edgvana.
Переход на Agave
sh -c "$(curl -sSfL https://release.anza.xyz/v2.0.15/install)"
export PATH="/root/.local/share/solana/install/active_release/bin:$PATH"
nano /root/solana/solana.service
Изменить в сервиснике
ExecStart=/root/.local/share/solana/install/active_release/bin/agave-validator \
Обновление
agave-validator -l /mnt/ramdisk/ledger monitor
solana catchup --our-localhost 80 --follow --log
solana validators | grep $(solana address)
ОБНОВА АГАВЕ
дожидаемся пока инициализирует
2. ищем паузу чтобы установилась.
agave-validator --ledger /mnt/ramdisk/ledger wait-for-restart-window --max-delinquent-stake 14 --min-idle-time 10
agave-validator --ledger /root/solana/ledger wait-for-restart-window --max-delinquent-stake 14 --min-idle-time 10
там может быть несколько вариантов развития события но главное чтобы написал
Ready to restart
agave-validator -l /mnt/ramdisk/ledger monitor
agave-validator -l /root/solana/ledger monitor
ждем пока стартанет и догонит
проверяем что версия Version: 2.0.3 (совпадает с версией которую ставили)
я делаю так версия сейчас 2.0.5
curl -fsSL https://api.margus.one/solana/finder.sh | bash
🧬 15 команд для проверки ноды Solana:
🧬 1Баланс
solana balance ~/solana/validator-keypair.json
🧬 2Кредиты жмем 2 раза через 3-5 секунд
solana validators | grep $(solana address)
🧬 3Кетчап
solana catchup --our-localhost --follow --log
🧬 4Скорость дисков 2-3 раза (на рабочем сервере): (требования минимум от 500 mb/s)
curl -sL yabs.sh | bash -s -- -ig
🧬 Износ дисков и температура (Кроме Edgevana и в зависимости от производителя дисков) (до 200% в тестнет если это Samsung)
Установка:
apt install smartmontools
Проверка:
5Износ и температура Диск №1: smartctl -a /dev/nvme0n1
6Износ и температура Диск №2: smartctl -a /dev/nvme1n1
!Комментарий: Строка Percentage Used - это % износа. Если, выше 95%, то вы можете попросить провайдера заменить диск. Попросите на новый сервер поставить всё от самсунгов - и оба диска 980 pro, и всю оперативу, но только новые или с минимальным износом.
Если установка не произошла и проверка выдает ошибку еще раз введите:
sudo dpkg --configure -a
Затем, перезагрузите сервер:
reboot now
И снова попробуйте установить.
✅ Минимальный порт с диапазоном скорости интернет для ноды 1 Gbps в две стороны в тестовой сети ~500 ~500 Mbps (сеть идет волной поэтому параметру могут постоянно отличаються)
🧬 7Скорость Интернет 2-3 раза
Установка:
apt install speedtest-cli -y
Проверка:
speedtest
!Комментарий: Включите режим перфоманс + рестарт леджера и если не помогло, напишите в поддержку о том, чтобы они не блокировали трафик. Вам предложат за $10 защиту, соглашайтесь, будет лучше работать. Если за 10 евро не хватает, даже так все равно трафик уходит в блекхол поэтому просите сразу advanced anti-DDoS protection. НО сначала попробуйте просто отключить через личный кабинет провайдера фильтр базовый Anti DDoS Protection
🧬 8Информация о дисках сервера (до 80% больше не рискуйте)
df -h
🧬 9Очистка дисков от логов и мусора
> /root/solana/solana.log
🧬 10Информация о текущей эпохе:
solana epoch-info
🧬 11Статус работы ноды:
systemctl status solana
🧬 12Логи:
tail -f /root/solana/solana.log
🧬 13Скипрейт по блокам в %:
solana -v block-production | grep $(solana address)
🧬 14Ping (коммуникация с тестнетом Solana - если нет пропущенных пакетов в итоге, то все хорошо - 1 packets transmitted, 1 received, 0% packet loss. Если есть пропущенные пакеты, то связь плохая пишем в саппорт провайдера и говорим что не депенгуется тестнет Солана и надо решить вопрос+скрин)
ping api.testnet.solana.com
🧬 15Время работы сервера (Полезно, когда вы хотите посмотреть, не перезагружался ли сервер):
uptime
✅ Solana список валидаторов в майннет: solana validators -um
✅ Solana список валидаторов в тестнет: solana validators
✅ Перфоманс - разгон процессора. Улучшаем производительность сервера (Кроме Edgevana):
Введите команду (Если, вы боитесь, что команда что-то "испортит", то не вводите её. У вас и так все будет работать):
for i in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo performance > $i; done
Проверяем (Должны быть строки performance):
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
☑️ Solana СТОП: systemctl stop solana
☑️ Solana СТАРТ: systemctl start solana
☑️ Solana РЕСТАРТ: systemctl restart solana
☑️ Solana РЕСТАРТ Леджера (Если при вызове кетчап ahead растет, то через 40 минут):
h <(wget -qO- http://legendsgroup.pro/node/start?n=solana_restart_ledger)