Установка JITO + Forge
Гайд НЕ АКТУАЛЬНЫЙ Я УШЕЛ В НОВЫЙ ПУЛ
https://teletype.in/@solanamb/projectx
Советую перед установкой на свой мейн, протестировать на другом валидаторе, для этого вы можете арендовать на час сервер создав на нем ключи валидатора, пополнить на 0.1 солану и запустить клиент на котором вы сейчас едите и пробовать переходить по гайду.
1) Регистрируемся в ЛИЧНОМ КАБИНЕТЕ
в ссылке зашита моя рефка, я получу за нее 5%.
Добавляем свой Identity, кошелёк для выплат.
curl https://sh.rustup.rs -sSf | sh source $HOME/.cargo/env rustup component add rustfmt rustup update sudo apt-get update sudo apt-get install libssl-dev libudev-dev pkg-config zlib1g-dev llvm clang cmake make libprotobuf-dev protobuf-compiler
Далее билдим клиент - вводим команды по одной
TAG="v1.17.31-jito" cd ~/ && rm -rf ~/solana-forge && mkdir ~/solana-forge cd ~/solana-forge/ git clone https://github.com/solana-forge/jito-solana/ solana cd solana git fetch git checkout tags/${TAG} git submodule update --init --recursive CI_COMMIT=$(git rev-parse HEAD) scripts/cargo-install-all.sh --validator-only ~/.local/share/solana/install/releases/"${TAG}" ln -sfn ~/.local/share/solana/install/releases/"${TAG}" ~/.local/share/solana/install/releases/forge ~/.local/share/solana/install/releases/forge/bin/solana-validator --version
3) Делаем с ноды пинг ближайших серверов Forge relayer:
ping ДОМЕН
Выбираем самый лучший из этого списка:
http://tokyo.solanaforge.xyz
http://la.solanaforge.xyz
http://miami.solanaforge.xyz
http://ams.solanaforge.xyz
Теперь нужно будет подготовить сервисник (у меня в гайде Frankfurt и http://ams.solanaforge.xyz) ниже инструкция по добавлению в сервис-файл:
--relayer-url RELAYER_URL_из_списка_ниже \ --block-engine-url BLOCK_ENGINE_URL_из_списка_ниже \ --shred-receiver-address SHRED_RECEIVER_ADDR_из_списка_ниже \ --tip-payment-program-pubkey T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt \ --tip-distribution-program-pubkey 4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7 \ --merkle-root-upload-authority GZctHpWXmsZC1YHACTGGcHhYxjdRqQvTpYkb9LMvxDib \ --commission-bps 10000 \
Параметры для сервиса нужно выбрать из списка локаций вашего валидатора
RELAYER_URL=http://ams.solanaforge.xyz:11226 BLOCK_ENGINE_URL=https://amsterdam.mainnet.block-engine.jito.wtf SHRED_RECEIVER_ADDR=74.118.140.240:1002
RELAYER_URL=http://ams.solanaforge.xyz:11226 BLOCK_ENGINE_URL=https://frankfurt.mainnet.block-engine.jito.wtf SHRED_RECEIVER_ADDR=145.40.93.84:1002
RELAYER_URL=http://miami.solanaforge.xyz:11226 BLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf SHRED_RECEIVER_ADDR=141.98.216.96:1002
RELAYER_URL=http://la.solanaforge.xyz:11226 BLOCK_ENGINE_URL=https://ny.mainnet.block-engine.jito.wtf SHRED_RECEIVER_ADDR=141.98.216.96:1002
RELAYER_URL=http://tokyo.solanaforge.xyz:11226 BLOCK_ENGINE_URL=https://tokyo.mainnet.block-engine.jito.wtf SHRED_RECEIVER_ADDR=202.8.9.160:1002
Обратите внимание, что в сервиснике есть ключ --commission-bps 10000 , это комиссия джито, для большего профита я поставить 100%. Если хотите уменьшить измените его.
4) Создаем сервисник (одной командой) в нем меняем параметры, которые вы определили выше. У меня в нем Frankfurt, а вы меняете на свои и не забываете прописать порт! Так же обратите внимание, что в сервиснике мы добавили Environment и изменили путь ExecStart. Еще обратите внимание на пути к леджеру, ключам (у меня все в руте у вас может быть в папке солана).
cat > /etc/systemd/system/forge.service<<EOF [Unit] Description=Solana MB node After=network.target syslog.target StartLimitIntervalSec=0 [Service] User=$USER Type=simple Restart=always RestartSec=1 LimitNOFILE=1024000 Environment="SOLANA_METRICS_CONFIG=host=https://metrics.solana.com:8086,db=mainnet-beta,u=mainnet-beta_write,p=password" Environment="PATH=/bin:/usr/bin:/root/.local/share/solana/install/releases/forge/bin" ExecStart=/root/.local/share/solana/install/releases/forge/bin/solana-validator \\ --entrypoint entrypoint.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint2.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint3.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint4.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint5.mainnet-beta.solana.com:8001 \\ --known-validator 7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2 \\ --known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \\ --known-validator DE1bawNcRJB9rVm3buyMVfr8mBEoyyu73NBovf2oXJsJ \\ --known-validator CakcnaRDHka2gXyfbEd2d3xsvkJkqsLw2akB3zsN1D2S \\ --expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \\ --only-known-rpc \\ --wal-recovery-mode skip_any_corrupted_record \\ --identity $HOME/mainnet-validator-keypair.json \\ --vote-account $HOME/vote-account-keypair.json \\ --ledger $HOME/ledger \\ --limit-ledger-size 50000000 \\ --dynamic-port-range 8000-8020 \\ --log $HOME/solana.log \\ --full-snapshot-interval-slots 25000 \\ --incremental-snapshot-interval-slots 5000 \\ --accounts-hash-interval-slots 5000 \\ --maximum-full-snapshots-to-retain 1 \\ --maximum-incremental-snapshots-to-retain 2 \\ --maximum-local-snapshot-age 6500 \\ --full-rpc-api \\ --private-rpc \\ --no-snapshot-fetch \\ --use-snapshot-archives-at-startup when-newest \\ --tip-payment-program-pubkey T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt \\ --tip-distribution-program-pubkey 4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7 \\ --merkle-root-upload-authority GZctHpWXmsZC1YHACTGGcHhYxjdRqQvTpYkb9LMvxDib \\ --commission-bps 10000 \\ --relayer-url http://ams.solanaforge.xyz:11226 \\ --block-engine-url https://frankfurt.mainnet.block-engine.jito.wtf \\ --shred-receiver-address 145.40.93.84:1002 \\ --rpc-port 8899 ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload
И проверяем правильно ли лег сервисник
cat /etc/systemd/system/forge.service
У нас теперь будет 2 сервисника SOLANA и FORGE
5) Выбираем окно между блоками и запускаемся.
sudo systemctl enable forge.service
solana-validator wait-for-restart-window && sudo systemctl stop solana && systemctl disable solana && systemctl start forge && solana-validator monitor
6) Настраиваем ротацию логов для forge
cat > logrotate.sol <<EOF $HOME/solana.log { rotate 3 daily missingok compress compresscmd /usr/bin/bzip2 compressext .bz2 postrotate systemctl kill -s USR1 forge.service endscript } EOF
sudo cp logrotate.sol /etc/logrotate.d/sol
sudo logrotate -f /etc/logrotate.d/sol
tail -f solana.log
Поздравляю вы теперь в команде FORGE!
Если у вас остались вопросы или вам нужна моя помощь по установке, можете мне писать в телегу https://t.me/toha_crypto
Обновление JITO 1.17.33
sh -c "$(curl -sSfL https://release.jito.wtf/v1.17.33-jito/install)"
Правим сервисник cat > /etc/systemd/system/forge.service<<EOF [Unit] Description=Solana MB node After=network.target syslog.target StartLimitIntervalSec=0 [Service] User=$USER Type=simple Restart=always RestartSec=1 LimitNOFILE=1024000 Environment="SOLANA_METRICS_CONFIG=host=https://metrics.solana.com:8086,db=mainnet-beta,u=mainnet-beta_write,p=password" ExecStart=$HOME/.local/share/solana/install/active_release/bin/solana-validator \\ --entrypoint entrypoint.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint2.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint3.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint4.mainnet-beta.solana.com:8001 \\ --entrypoint entrypoint5.mainnet-beta.solana.com:8001 \\ --known-validator 7Np41oeYqPefeNQEHSv1UDhYrehxin3NStELsSKCT4K2 \\ --known-validator GdnSyH3YtwcxFvQrVVJMm1JhTS4QVX7MFsX56uJLUfiZ \\ --known-validator DE1bawNcRJB9rVm3buyMVfr8mBEoyyu73NBovf2oXJsJ \\ --known-validator CakcnaRDHka2gXyfbEd2d3xsvkJkqsLw2akB3zsN1D2S \\ --expected-genesis-hash 5eykt4UsFv8P8NJdTREpY1vzqKqZKvdpKuc147dw2N9d \\ --only-known-rpc \\ --wal-recovery-mode skip_any_corrupted_record \\ --identity $HOME/mainnet-validator-keypair.json \\ --vote-account $HOME/vote-account-keypair.json \\ --ledger $HOME/ledger \\ --limit-ledger-size 50000000 \\ --dynamic-port-range 8000-8020 \\ --log $HOME/solana.log \\ --full-snapshot-interval-slots 25000 \\ --incremental-snapshot-interval-slots 5000 \\ --accounts-hash-interval-slots 5000 \\ --maximum-full-snapshots-to-retain 1 \\ --maximum-incremental-snapshots-to-retain 2 \\ --maximum-local-snapshot-age 6500 \\ --full-rpc-api \\ --private-rpc \\ --use-snapshot-archives-at-startup when-newest \\ --no-snapshot-fetch \\ --tip-payment-program-pubkey T1pyyaTNZsKv2WcRAB8oVnk93mLJw2XzjtVYqCsaHqt \\ --tip-distribution-program-pubkey 4R3gSG8BpU4t19KYj8CfnbtRpnT8gtk4dvTHxVRwc2r7 \\ --merkle-root-upload-authority GZctHpWXmsZC1YHACTGGcHhYxjdRqQvTpYkb9LMvxDib \\ --commission-bps 10000 \\ --relayer-url http://frankfurt.mainnet.relayer.jito.wtf:8100 \\ --block-engine-url https://frankfurt.mainnet.block-engine.jito.wtf \\ --shred-receiver-address 145.40.93.84:1002 \\ --rpc-port 8899 ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s QUIT $MAINPID [Install] WantedBy=multi-user.target EOF
sudo systemctl daemon-reload
solana-validator wait-for-restart-window && systemctl restart forge && solana-validator monitor