April 23, 2024

Установка JITO + Forge                

Гайд НЕ АКТУАЛЬНЫЙ Я УШЕЛ В НОВЫЙ ПУЛ

https://teletype.in/@solanamb/projectx

Советую перед установкой на свой мейн, протестировать на другом валидаторе, для этого вы можете арендовать на час сервер создав на нем ключи валидатора, пополнить на 0.1 солану и запустить клиент на котором вы сейчас едите и пробовать переходить по гайду.

1) Регистрируемся в ЛИЧНОМ КАБИНЕТЕ

в ссылке зашита моя рефка, я получу за нее 5%.

Добавляем свой Identity, кошелёк для выплат.

2) Начинаем установку

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 \

Параметры для сервиса нужно выбрать из списка локаций вашего валидатора

Amsterdam

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

Frankfurt

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

New York and East USA

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

LA and West USA

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

Tokyo

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