Редакционная доработка ещё намеренно не завершена
Этот раздел скрыт из основной навигации. Перевод и редакторская полировка намеренно не считаются обязательными, пока раздел не станет публичным.
Поток транзакций в протоколе NEAR
Это руководство прослеживает полный жизненный цикл транзакции в протоколе NEAR: от отправки через JSON-RPC до исполнения валидатором.
Быстрый справочник
| Задача | Метод RPC |
|---|---|
| Отправить транзакцию без ожидания результата | broadcast_tx_async |
| Отправить и дождаться результата | broadcast_tx_commit |
| Проверить статус транзакции | tx_status |
| Посмотреть информацию об аккаунте | view_account |
| Вызвать функцию просмотра | call_function |
Разделы руководства
Базовые концепции
- Основы - структура транзакции, набор действий и форматы сериализации
- RPC и отправка - JSON-RPC-эндпоинты, валидация и ключи доступа
- Финальность - результаты исполнения, запрос итогов и опции
wait_until
Модель исполнения
- Асинхронная модель - промисы, квитанции и межшардовое взаимодействие
- Исполнение в среде выполнения - машина состояний и исполнение действий
- Газ и экономика - учёт газа, возвраты и ценообразование
Инфраструктура
- Сеть и блоки - P2P-протокол, пул транзакций и производство чанков
- Инфраструктура - хранилище состояния, шардинг и структура префиксного дерева
Продвинутые темы
- Продвинутые возможности - мета-транзакции (
DelegateAction) иPromise Yield/Resume - Справочник - ментальные модели, советы по отладке и приложения
Ключевые концепции
Транзакции асинхронны
В отличие от синхронных блокчейнов, транзакции в NEAR создают квитанции, которые исполняются асинхронно. Межконтрактный вызов может растянуться на несколько блоков и шардов.
Квитанции, а не вызовы
Когда ваш контракт вызывает другой контракт, он не получает возвращаемое значение сразу. Вместо этого:
- Ваш вызов создаёт ActionReceipt для целевого контракта.
- Эта квитанция исполняется позже, возможно в будущем блоке и на другом шарде.
- Результат возвращается в обработчик обратного вызова как DataReceipt.
Межшардовое взаимодействие по замыслу
NEAR использует шардинг: разные аккаунты живут на разных шардах. Межшардовое взаимодействие автоматическое, но асинхронное. Атомарность гарантируется только внутри одного шарда.