Ограничьте поток перед подключением
НефильтрованныйpreconfSubscribe передает каждую транзакцию по цене 10 кредитов за каждую. Применяйте фильтрацию на стороне сервера, чтобы платить только за транзакции, на основе которых вы торгуете. Для каждой подписки по-прежнему действует минимум в 300 кредитов за каждый охваченный слот, поэтому используйте одну подписку с фильтром вместо нескольких подписок с узкими фильтрами.
failed: falseотбрасывает транзакции, о неуспешном выполнении которых уже известно: пытаться опередить их нет смысла.regionIncludeпривязывает поток к региону, ближайшему к вашей инфраструктуре, чтобы переход между регионами не лишил вас преимущества во времени.accountIncludeнаходит любую транзакцию, которая ссылается на вашу цель: кошелек, пул AMM, программу и т. д. Helius обрабатывает таблицы поиска адресов на стороне сервера, поэтому фильтр срабатывает, даже если аккаунт загружается через ALT.
Подключитесь, оформите подписку и декодируйте данные
preconfSubscribe доступен через эндпоинт Gatekeeper (wss://beta.helius-rpc.com), а уведомления поступают в виде двоичных кадров, а не JSON.
Каждый кадр содержит фиксированный 18-байтовый префикс, за которым следует транзакция, сериализованная с помощью bincode:
listener.js
Действуйте с помощью Sender Max
Предварительное подтверждение приносит пользу, только если ваша ответная транзакция будет включена в блок первой. Отправьте ответную транзакцию через Sender Max: чаевые в размере 0,001 SOL поступят в буфер приоритетных чаевых, а транзакция будет направлена по всем высокоскоростным маршрутам:Подтверждайте включение в блок и учитывайте возможные пропуски
Предварительное подтверждение позволяет увидеть транзакцию заранее. Она еще не включена в блок и по-прежнему может завершиться с ошибкой или быть отброшена, поэтому соблюдайте два правила:- Проверяйте транзакцию с помощью стандартных уровней подтверждения (
getSignatureStatusesили потока с уровнем подтвержденияprocessed), прежде чем считать окончательной наблюдаемую транзакцию или вашу ответную транзакцию. - Учитывайте возможные пропуски. Охват зависит от доли стейка, перенаправляемого в Helius, поэтому в некоторых слотах сообщения отсутствуют. Это ожидаемое поведение, а не разрыв соединения. Отличить одно от другого позволяет контрольный ping. После закрытия соединения подпишитесь заново.
Связанные руководства
preconfSubscribe API reference
Полная семантика фильтров, коды регионов и структура двоичных данных
Trade on Preprocessed Transactions
Охват до выполнения по цене 0,1 кредита за сообщение на всех платных тарифах