❗ Running & Debug
Подготовка среды
Система поддерживает Windows, macOS и Linux, но для постоянной работы лучше использовать Linux-сервер — он стабильнее, потребляет меньше ресурсов и даёт лучшую производительность в Node.js.
Приложение написано на Node.js и работает в одном потоке, поэтому каждое запущенное приложение использует только одно ядро CPU. Отсюда простое правило: 1 инстанс = 1 CPU. Добавлять ядра имеет смысл только если вы хотите запускать несколько экземпляров системы одновременно.
Минимальные требования: 1 CPU, 2 GB RAM. Этого достаточно — система не ресурсоёмкая и в среднем использует 10–20% одного ядра. Главное — высокая частота CPU, так как Node.js сильно зависит от скорости одного потока.
Куда важнее расположение сервера. Чем ближе он к валидаторам Solana, тем меньше сетевые задержки и выше шанс попасть в блок. Лучше размещать сервера в тех регионах и на тех провайдерах, где работают основные валидаторы Solana (например, TerraSwitch или CherryServers).
Подготовка системы
1. Настройте пресет
Создайте resources/presets/<имя>.toml с нужными параметрами. Обязательно укажите:
PAYER_PRIVATE_KEY— приватный ключ кошелька, с которого будут выполняться все транзакции;DEFAULT_RPC.URL— надёжный endpoint. Скорость не важна.GRPC.URL— быстрый endpoint для мониторинга событий в сети; критически важен для стратегииBACKRUNTRANSACTION_PROCESSOR.[имя].API_KEYS— API-ключи для каждого активного процессора (опционально);
Ниже личные рекомендации RPC / gRPC провайдеров, услугами которых можно воспользоваться.

Helius
Shreder
Так же предварительно настройте Pool Filters, по которым система будет подгружать пулы и между которыми будет происходить арбитраж. Протестировать до запуска, какие пулы приходят по указанным фильтрам, можно через CLI утилиту "Fetch Pools"
Полный список всех конфигураций:
Preset Configuration2. Создайте Durable Nonces (обязательно для Backrun)
Durable Nonce — обязательны для стратегии Backrun, позволяют синхронизировать транзакции. Рекомендуется создать 100 аккаунтов. Создание 100 аккаунтов стоит ~0.145 SOL, эти средства выделяются на рент аккаунтов и их можно полностью вернуть при закрытии этих аккаунтов. Создать / Закрыть можно через CLI утилиту "Manage Nonce"
Подробнее, зачем это:
Backrun Strategy3. Пополните кошелек и конвертируйте SOL в wSOL
Для того, чтобы система корректно функционировала, ОБЯЗАТЕЛЬНО нужно заранее создать wSOL аккаунт и пополнить его. Система НЕ создает этот аккаунт автоматически. Конвертировать SOL можно через CLI утилиту "Wrap Sol".
Так же позаботьтесь о том, что у вас есть баланс SOL на кошельке. С него будут оплачиваться:
transaction fee за неуспешные транзакции
плата за создание / расширение LUT таблиц (можно потом полностью вернуть)
tips JITO и другим процессорам
комиссия lending протоколам за Flash Loan
Рекомендуется иметь около 0.3 SOL и 0.1 WSOL на кошельке для корректной работы.
Благодаря функции Flash Loan больше и не требуется, так как ликвидность для выполнения арбитража мы можем брать в безопасный займ.
4. Укажите свои LUT (опционально)
В system.toml в разделе TABLE_LOOKUP_STORAGE вы можете указать свои кастомные таблицы. Они будут использоваться системой для всех арбитражных транзакций заранее.
Запуск системы
На старте работы системы важно быть осторожным, особенно если вы запускаете её впервые. Следуйте этим рекомендациям, чтобы минимизировать риски и непредсказуемые расходы:
1. Не выставляйте высокий Priority Fee
Priority fee настраивается в пресете через блок TRANSACTION.COMPUTE_UNIT_PRICE
Если включена стратегия Transaction Spam с большим TPS, система начнёт отправлять большое количество транзакций в блокчейн. Каждая транзакция, даже если она не успешна, списывает комиссию за включение валидатором. Поэтому на старте установите минимальный Priority Fee (например, 100 µLAM/CU) и небольшое количество транзакций в секунду, чтобы безопасно протестировать работу системы и предсказуемость расходов.
2. Проверьте фильтры пулов (Pool Filters)
Если фильтры не настроены, система загрузит все доступные пулы (может быть до 1000+), что приведёт к массовому созданию таблиц через Table Lookup Manager (если он включен). Для каждого нового пула будут автоматически расширяться таблицы. Хотя плату за создание и расширение таблиц можно вернуть, на старте лучше протестировать, какие пулы придут, чтобы избежать неожиданного поведения.
3. Следите за логами
При запуске бота создаётся папка logs, в которой формируется файл с текущим запуском. Все непредсказуемые события, ошибки и предупреждения логируются туда. Регулярно проверяйте этот файл, чтобы вовремя выявлять проблемы и понимать, как работает система.
Last updated

