Guides

Solana: Blockhash not found и истёкшая транзакция — что делать

21 октября 2026 г.
5 мин чтения

Кошелёк Solana пишет Blockhash not found или block height exceeded? Почему транзакция истекает за минуту, списана ли комиссия и как отправить снова.

Временная шкала транзакции Solana от получения blockhash до его истечения примерно через 150 блоков, с моментом включения в блок и оплаты комиссии.
Почему транзакции Solana истекают с Blockhash not found и когда списывается комиссия. Открыть схему крупнее

В Solana каждая транзакция содержит недавний blockhash и действительна, только пока он свежий, — около 150 блоков, примерно минуту. Blockhash not found значит, что узел, куда вы отправили, не знает этот blockhash (он устарел или узел отстаёт); block height exceeded или transaction expired — окно действия закрылось раньше, чем транзакция попала в блок. В обоих случаях транзакция в блок не вошла: ни SOL, ни токены не двигались, комиссия не списана. Соберите и отправьте её заново.

Минута жизни транзакции Solana

Solana не использует nonce на уровне аккаунта, как Ethereum. Кошелёк запрашивает у RPC-узла недавний blockhash, вписывает его в транзакцию, подписывает и отправляет. Валидаторы принимают её, только пока этот blockhash входит в последние 150 увиденных. При слотах около 400 мс это примерно 60 секунд, на практике чуть больше из-за пропущенных слотов. После этого ту же подписанную транзакцию обработать нельзя — это защищает от повторного проигрывания старой транзакции.

Практический вывод: всё, что задерживает отправку после получения blockhash, съедает эту минуту. Открытое окно подтверждения, медленное подтверждение на аппаратном кошельке, телефон, ушедший в сон посреди подписи, или RPC-узел, отстающий на несколько секунд, — любое из этого может вытолкнуть транзакцию за окно.

Истекла или упала — это разное

Три исхода транзакции Solana и их цена
ИсходНа SolscanКомиссия?Средства ушли?
Истекла / blockhash not foundПодпись не найденаНетНет
Вошла в блок, но инструкция упалаResult: Error (нехватка средств, проскальзывание)Да, базовая + приоритетнаяНет (состояние откатилось)
Вошла и выполненаResult: Success, FinalizedДаДа

Транзакция, которая вошла в блок и упала, всё равно платит комиссию: 5000 лампортов (0,000005 SOL) за подпись плюс приоритетную комиссию. Поэтому неудачный обмен на DEX показывает небольшое списание SOL. Истёкшая транзакция ничего не платит, потому что её не обрабатывали. Чтобы различить случаи, найдите подпись на Solscan; определитель хеша транзакции узнаёт подпись Solana по формату base58.

Как отправить заново

  1. Сначала проверьте баланс. Если он не изменился и подпись не находится, транзакция истекла.
  2. Повторите из кошелька — он сам запросит новый blockhash. Подтверждайте без пауз, особенно на аппаратном кошельке.
  3. Если в часы нагрузки повторы снова истекают, поднимите приоритетную комиссию. Phantom и Solflare ставят её автоматически, dApp иногда дают выбрать. Калькулятор приоритетной комиссии Solana покажет, сколько стоит выбранная цена compute unit.
  4. Если один кошелёк или dApp раз за разом падает, а другие работают, его RPC может быть перегружен. Попробуйте позже или через другой интерфейс.

Confirmed, finalized и почему кошелёк отстаёт

Solana сообщает три уровня подтверждения. Processed — валидатор увидел транзакцию в блоке; confirmed — за блок проголосовало большинство стейка, обычно через секунду-две; finalized — блок закреплён, обычно ещё примерно через 30 слотов. Некоторые кошельки показывают транзакцию отправленной уже на этапе processed, а баланс обновляют после подтверждения. Если кошелёк показывает ошибку, а Solscan — подпись в статусе confirmed или finalized, верьте обозревателю: перевод прошёл. Если кошелёк показывает успех, а Solscan через пару минут подпись не находит, транзакция, скорее всего, истекла до включения в блок.

Другие ошибки Solana

  • insufficient funds for rent — перевод оставил бы аккаунт ниже минимума освобождения от ренты (0,00089088 SOL для обычного аккаунта). Отправьте чуть меньше или оставьте немного SOL; см. минимум rent-exempt в Solana.
  • Attempt to debit an account but found no record of a prior credit — на адресе-плательщике вообще нет SOL, ему нечем платить комиссию.
  • custom program error: 0x1 от токен-программы — обычно не хватает токенов на указанную сумму.
  • Slippage exceeded на DEX — цена сдвинулась больше допуска; такая транзакция входит в блок и падает, комиссия платится.

Оплата заказа обмена в SOL

Когда вы оплачиваете заказ KOT.CASH в SOL, депозит зачисляется после 200 подтверждений у провайдера — в Solana это около полутора минут. Если кошелёк сообщил об истёкшей транзакции, на адрес депозита ничего не пришло; отправьте снова, пока на странице заказа идёт отсчёт. Если подпись на Solscan показывает Success, а заказ всё ждёт, подождите две-три минуты и напишите в поддержку со ссылкой на заказ и подписью.

Частые вопросы

Я потерял SOL из-за Blockhash not found?

Нет. Транзакцию не обработали, комиссия не списана, средства не двигались.

Сколько действует транзакция Solana?

Около 150 блоков после того blockhash, который в ней указан, то есть примерно 60–90 секунд.

Почему за неудачный обмен списали комиссию?

Эта транзакция вошла в блок и упала при выполнении. Вошедшие транзакции платят базовую и приоритетную комиссию, даже если инструкция не выполнилась.

Поможет ли повысить приоритетную комиссию?

При нагрузке — да: валидаторы предпочитают транзакции, которые платят больше за compute unit, и она войдёт до истечения blockhash.

Может ли истёкшая транзакция внезапно пройти позже?

Нет. Когда blockhash выпал из недавнего окна, валидаторы отклоняют эту транзакцию навсегда.

Как пользоваться SolscanКалькулятор приоритетной комиссии SolanaКомиссии Solana и приоритетные комиссииСколько идёт транзакция Solana

Источники

Готовы обменять крипту?

Быстрые, прозрачные свопы — регистрация не нужна.

Начать обмен
Solana: Blockhash not found и истёкшая транзакция — что делать | KOT.CASH