Правило чаевых
Каждая транзакция, которую вы отправляете через Apex, должна содержать ровно одни чаевые, которые отвечают всем этим условиям:1
Перевод SystemProgram
Чаевые представляют собой обычную инструкцию
SystemProgram::Transfer на один из опубликованных аккаунтов для чаевых Apex.2
Верхний уровень
Перевод является инструкцией верхнего уровня в транзакции. Перевод, сделанный изнутри вашей программы через CPI, не считается.
3
Оплачены подписантом
Аккаунт, который платит чаевые, подписывает транзакцию. Он не обязан быть плательщиком комиссии.
4
Аккаунт для чаевых в статических ключах
Аккаунт для чаевых присутствует в статических ключах аккаунтов транзакции. Не загружайте его через address lookup table.
5
Не ниже минимума вашего тарифа
Минимум стандартного тарифа составляет 0.001 SOL (1,000,000 lamports). Тариф вашего ключа может задавать другой минимум.
Вы платите, только когда транзакция попала в блок
Чаевые находятся внутри вашей транзакции. Если транзакция не попала в блок, перевод не исполняется, и вы ничего не платите. Отклонённая, просроченная или отброшенная транзакция не стоит вам чаевых.Получите аккаунты для чаевых
Вызовите JSON-RPCgetTipAccounts на любом эндпоинте Apex. API-ключ для этого не нужен.
Опубликованные аккаунты
Аккаунты для чаевых в mainnet, все они хранилища программы чаевых9ig7pd4gqe2m16ACGPbPo4HfMGD3ba38poDhXEayx7EF. Авторитетный список даёт getTipAccounts: только его эндпоинт принимает, и изменения появляются там первыми. Каждый адрес начинается с APeX, так что подменённый аккаунт заметен сразу.
Добавьте инструкцию чаевых
Куда идут чаевые
Аккаунты для чаевых являются хранилищами ончейн-программы чаевых OrbitFlare. Списывать с них средства может только программа. Когда вашу транзакцию доставляет в блок именно путь Jito, чаевые за вычетом базовой комиссии 5,000 lamports идут ставкой в Jito в том же бандле, что и ваша транзакция. Отдельные чаевые Jito добавлять не нужно. Одни чаевые Apex покрывают все три пути.
Поэтому более крупные чаевые означают более крупную ставку на аукционе Jito. Вы платите одну и ту же сумму, какой бы путь ни доставил транзакцию в блок, потому что чаевые и есть перевод, который вы подписали.
Чем чаевые отличаются от приоритетной комиссии
Apex доставляет вашу транзакцию лидеру. Планировщик лидера по-прежнему упорядочивает транзакции по приоритетной комиссии, то есть по цене вычислительной единицы, умноженной на лимит вычислительных единиц. Задавайте оба значения в каждой транзакции:- Лимит вычислительных единиц, близкий к тому, что транзакция реально использует. Завышенный лимит снижает ваш эффективный приоритет на единицу и впустую занимает место в блоке.
- Цена вычислительной единицы, которая соответствует текущему рынку для аккаунтов, которые вы затрагиваете.
TransactionConfig сообщения.
Рекомендации по выбору обоих значений см. в разделе Лучшие практики.