Skip to main content
Sender одновременно отправляет вашу транзакцию по всем высокоскоростным маршрутам (Helius, Jito, Harmonic, Rakurai) и не расходует кредиты API. За каждую отправку вы платите чаевые в SOL. В этом руководстве вы создадите готовый к эксплуатации цикл отправки с прогретыми соединениями, комиссиями по актуальным ценам и подтверждением с политикой повторных попыток.

Выберите уровень

Sender Max (минимальные чаевые — 0.001 SOL) направляет транзакции по всем маршрутам и помещает их в приоритетный буфер чаевых, где более высокие чаевые обрабатываются первыми. Только SWQOS (0.000005 SOL) использует один быстрый маршрут для потока, оптимизированного по стоимости. Добавьте ?swqos_only=true к URL конечной точки. Чаевые между этими двумя минимальными значениями обрабатываются по мере возможности через меньшее число маршрутов, поэтому выберите один из двух уровней.

Выберите конечную точку

Серверные приложения должны использовать ближайшую к своим серверам региональную конечную точку HTTP (http://ewr-sender.helius-rpc.com/fast, fra, slc, ams, lon, sg, tyo). Браузеры должны использовать глобальную конечную точку HTTPS https://sender.helius-rpc.com/fast, которая автоматически выбирает маршрут и позволяет избежать проблем с CORS.

Прогрейте соединение

Установка холодного соединения TCP/TLS увеличивает задержку первой отправки после периода бездействия. Если между отправками в вашей системе может проходить более 5 секунд, поддерживайте соединение прогретым с помощью конечной точки ping:

Создайте транзакцию

Каждая транзакция Sender должна включать как перевод чаевых на назначенный счет для чаевых, так и цену вычислительной единицы. Sender отклоняет транзакции, в которых отсутствует любой из этих элементов. При жестко заданной комиссии за приоритет вы переплачиваете на спокойном рынке и проигрываете конкуренцию при высокой активности, поэтому рассчитывайте ее с помощью API приоритетных комиссий:
send.ts
Размер чаевых определяет, по каким маршрутам может пройти ваша транзакция, а комиссия за приоритет повышает ее позицию в очереди валидатора. Вместе они максимально увеличивают вероятность включения.

Отправьте, затем подтвердите

Отправьте транзакцию с параметром skipPreflight: true, чтобы сократить задержку за счет отказа от проверки на стороне клиента, а затем подтвердите ее через RPC-соединение. Sender немедленно возвращает подпись, но она не подтверждает включение транзакции:
При использовании maxRetries: 0 вы самостоятельно управляете политикой повторных попыток: если время ожидания подтверждения истекло, заново создайте транзакцию со свежим хешем блока и пересчитанной комиссией вместо повторной отправки устаревшей транзакции. Для запросов с существующим API-ключом проекта Helius действует ограничение в 50 запросов в секунду на регион. Для запросов без ключа действует ограничение в 1 запрос в секунду на исходящий IP-адрес в каждом регионе. Пользователи профессиональных тарифов могут запросить более высокие лимиты.

Необязательно: обходите сэндвич-атаки

Добавьте ?mev-protect=true к URL конечной точки, чтобы исключить валидаторов, статистически связанных с сэндвич-атаками. Тело запроса останется без изменений. Этот параметр работает на обоих уровнях:
Подробнее о компромиссах см. в разделе MEV Protect. Для атомарного выполнения нескольких транзакций (до 4 транзакций по принципу «все или ничего») используйте sendBundle на той же конечной точке.

Связанные руководства

Sender overview

Полное описание уровней, конечных точек, счетов для чаевых и ограничений частоты запросов

Trade on Preconfirmations

Сочетайте самый быстрый маршрут отправки с самым ранним сигналом о транзакции