Коли ви натискаєте «відправити» в гаманці, монети не переміщуються фізично. Відбувається обмін цифровими записами, які мережа перевіряє, погоджує і назавжди фіксує. У Solana цей процес займає частки секунди, але за ним стоїть чітка послідовність кроків. Розберемо кожен із них.

Що таке транзакція і з чого вона складається

Транзакція — це запис про те, що хтось щось зробив у мережі. Найчастіше це переказ токенів від одного користувача до іншого, але транзакцією також є створення нового гаманця, взаємодія з децентралізованим додатком або зміна налаштувань акаунта.

Кожна транзакція в Solana містить кілька обовʼязкових частин:

  • Відправник — адреса гаманця, з якого списуються кошти або який ініціює дію.
  • Одержувач — адреса гаманця, куди надходять кошти або яка є ціллю дії.
  • Сума — кількість токенів, яку потрібно перевести.
  • Інструкції — точний опис того, що саме треба зробити. Solana не обмежується «переказати гроші»: інструкція може містити кілька дій одночасно, наприклад, переказ токенів і закриття тимчасового акаунта.
  • Підпис — криптографічне підтвердження, що ви справді ініціювали транзакцію і погоджуєтесь із її умовами. Без правильного підпису мережа відхилить транзакцію.
  • Останній блок (recent blockhash) — унікальний ідентифікатор останнього створеного блоку в мережі. Він потрібен, щоб транзакція не була повторно використана пізніше. Це технічний захист, схожий на те, як на чек ставлять штамп із датою.

Усі ці дані збираються в єдиний пакет, який гаманець формує ще до того, як ви натиснете кнопку підтвердження.

Послідовність кроків від натискання «відправити» до підтвердження

Підписання транзакції

Ви вказали адресу одержувача та суму. Гаманець збирає всі дані в транзакцію і показує вам для перевірки. Коли ви натискаєте «підтвердити», гаманець створює підпис за допомогою вашого приватного ключа — секретного пароля, який знаєте лише ви. Сам ключ нікуди не передається: у мережу йде лише математичний результат, який доводить, що ви володієте акаунтом. Це схоже на те, як ви ставите підпис на документі: ніхто не бачить вашу руку, але всі переконані, що це ви.

Передача у мережу

Підписана транзакція надсилається через так званий RPC-вузол (Remote Procedure Call) — сервер, який приймає запити від користувачів і передає їх у мережу. Гаманець зазвичай підключається до RPC-вузла автоматично. Якщо цей сервер перевантажений або недоступний, транзакція може не дійти до мережі, хоча з вашого боку все виглядатиме правильно.

Обробка валідаторами

Валідатори — це компʼютери, які підтримують роботу мережі. Вони отримують вашу транзакцію і перевіряють кілька речей: чи правильний підпис, чи вистачає у вас коштів, чи не минув термін дії останнього блоку. Якщо все гаразд, валідатор включає транзакцію до черги на обробку.

Solana використовує механізм Proof of History, який впорядковує події в часі ще до того, як валідатори їх перевіряють. Завдяки цьому мережа знає, яка транзакція відбулася раніше, а яка пізніше, без додаткових узгоджень між учасниками.

Підтвердження та фіналізація

Після обробки транзакція потрапляє до блоку — набору транзакцій, який мережа фіксує разом. На цьому етапі ви бачите в гаманці статус «підтверджено». Це означає, що більшість валідаторів погодилися з результатом, і транзакція вважається успішною.

Фіналізація відбувається пізніше — коли за цим блоком створено достатньо наступних блоків, щоб змінити результат стало неможливо. У Solana фіналізація зазвичай займає кілька секунд. Для повсякденних переказів різниця між підтвердженням і фіналізацією практично непомітна, але технічно це різні стани.

Чому транзакція може не пройти

Навіть у швидкій мережі трапляються невдалі транзакції. Ось найпоширеніші причини:

  • Недостатньо коштів на комісію. Комісія в мережі сплачується окремо від суми переказу. Якщо на балансі є рівно стільки, скільки ви хочете відправити, транзакція не пройде, бо немає з чого заплатити за обробку.
  • Невірна адреса одержувача. Якщо адреса не існує в мережі або має неправильний формат, валідатори її відхилять.
  • Минув термін дії останнього блоку. Якщо транзакція застрягла в черзі занадто довго, вона стає недійсною, і її треба створити заново.
  • Помилка в інструкціях. Це стосується складніших транзакцій, наприклад, при роботі з децентралізованими додатками. Якщо програма очікує одні дані, а транзакція містить інші, вона завершиться помилкою.
  • Перевантаження мережі. Під час аномального сплеску активності транзакції можуть не встигати оброблятися вчасно.

Важливо розуміти: якщо транзакція не пройшла, комісія за спробу все одно списується. Це не баг, а особливість роботи мережі — валідатори витратили ресурси на перевірку.

Як перевірити статус транзакції

Коли ви відправили транзакцію, гаманець зазвичай показує її статус одразу. Але якщо ви хочете побачити подробиці — який валідатор обробив транзакцію, скільки комісії було сплачено, які акаунти були задіяні, — потрібен блокчейн-переглядач (Explorer).

Explorer — це сайт, який відображає всі транзакції мережі у зручному вигляді. Щоб знайти свою транзакцію, вам потрібен її ідентифікатор — довгий рядок літер і цифр, який гаманець показує після відправлення. Вставте цей рядок у пошук Explorer, і ви побачите повну інформацію про те, що саме відбулося.

Детальніше про те, як користуватися цим інструментом, читайте на сторінці Explorer Solana.