# Volume farmer

После запуска модуля пользователю потребуется ввести следующие параметры: **priorityFeeMultiplier,  минимальную задержку между свапами, максимальную задержку между свапами, слиппаж, минимальное кол-во USDC, максимальное кол-во USDC, минимальное и максимальное кол-во SOL для покрытия комиссий**.&#x20;

&#x20;Для того чтобы перейти к следующему параметру пользователю нужно нажать enter на своей клавиатуре. В случае возникновения ошибок, связанных с отправками транзакций/нодами/поиска маршрутов свапов бот совершит повторную попытку свапа. Для того чтобы остановить процесс накрутки объема пользователь должен ввести команду stop в поле ввода данных. \
\
Для того чтобы прекратить процесс свапов пользователю нужно ввести команду stop в активной строке ввода данных (строка идущая сразу под последним логом). Крайне рекомендуется прерывать процесс свапов после получения статуса Transaction confirmed (или во время ожидания бота следующего свапа).&#x20;

* История всех логов сохраняется в файле **logs.txt**

**Сетап:**

* **priorityFeeMulltiplier** - множитель приоритетной комиссии(минимальное значение 1, максимальное 10).  Использование приоритетной комиссии в разы повышает шанс подтверждения транзакции. Значение этого параметра напрямую зависит от нагрузки на сеть. При низкой нагрузке (< 2000 транзакций в секунду) рекомендуется выставить значение в диапазоне от 1 до 3 (на ваш выбор). При высокой нагрузке (>4000 транзакций в секунду) рекомендуется выставлять значение приоритетной комиссии >= 4. Стандартный размер комиссии (множитель 1) 0.00041 SOL за одну транзакцию.&#x20;
* **Слиппаж** - разница между ожидаемым и фактическим количеством токенов. Формат записи данных: проценты(от 1 до 100). Рекомендуется выставлять значения в диапазоне от 1.5 до 3 (на ваше усмотрение).
* **Временные задержки:** Пользователю нужно ввести диапазон задержек. При каждом свапе будет браться случайное значение из этого диапазона. Рекомендуется использовать дельту (разницу между минимальным и максимальным значением) более 5 минут. В боте стоит ограничение на минимальную дельту в 2.5 минуты (150 секунд). Формат записи данных: секунды. Как задержка работает:&#x20;

<mark style="color:yellow;">Бот ожидает N секунд перед отравкой транзакции - отправляет транзацию - ждет N секунд после отправки транзакции - ждет N секунд перед отправкой транзакции - отправляет транзацию</mark> и так далее

*Обязательно учитывайте это при расчете временных задержен*

* **Количество USDC для свапов**: Пользователю нужно ввести диапазон количества USDC для каждого свапа. При каждом свапе будет браться случайное значение из этого диапазона. Рекомендуется вводить максимальное кол-во токенов чуть меньше фактического баланса (для того чтобы оставить запас на потерях на слиппаже).&#x20;
* **Количество SOL для покрытия комиссий:** Пользователю нужно ввести диапазон количества токенов SOL для покрытия комиссий. При каждом свапе из SOL в другой случайный токен бот будет оставлять случайное количество SOL из введенного диапазона пользователем для покрытия комиссий. Рекомендуется оставлять минимум 0.03 SOL.\
  \
  **Возможные ошибки:**
* <mark style="color:orange;">Simulate failed: {"InstructionError":\[2,{"Custom":1}]}</mark> - недостаточно средств на кошельке для покрытия комиссий/слишком маленький слиппаж.
* <mark style="color:orange;">The node is behind by {количество} slots. Waiting for synchronization. Node synchronization error, trying again.</mark> - ошибка означает что нода отстает от актуального блока. Зачастую возникает с публичными/бесплатными нодами. Для предотвращения этой ошибки рекомендуется приобрести платную версию ноды. Подробнее рассказали тут <https://teletype.in/@edsolutions/pIC_68NYTKM>
* <mark style="color:orange;">Failed to get a new quote. Trying again.</mark> - ошибка получения актуального маршрута свапов. Происходит на стороне юпитера.&#x20;
* <mark style="color:orange;">Swap transaction is missing in the response</mark> - ошибка получения данных о транзакции в ответе от серверов юпитера.
* <mark style="color:orange;">Error 6001 detected (slippage too small), trying again to swap.</mark> - ошибка возникающая по причине маленького слиппажа. При возникновении рекомендуется ввести бОльшее значение слиппажа.&#x20;
* <mark style="color:orange;">The transaction is not confirmed. Trying again.</mark> - ошибка подтверждения транзакции.&#x20;
* <mark style="color:orange;">Error block height exceeded.</mark> - ошибка возникает из-за маленького значения priorityFeeMultiplier. Рекомендуется увеличить это значение.&#x20;
* <mark style="color:orange;">WrongSize error detected. Stopping this wallet. Check ballance.</mark> - ошибка возникает из-за недостатка USDC для свапов (максимальное введенное значение больше фактического).&#x20;
* <mark style="color:orange;">Token account not found</mark> - ошибка возникает из-за отсутствия на кошельке SOL или  USDC.
