Проектирование процесса обработки транзакции в блокчейн‑сети

Оформите транзакцию как сохраняемую state machine: подготовлена, ожидает подписи, подписана, отправлена, подтверждена либо завершилась ошибкой. Приватный ключ остаётся у клиента.

Короткий ответ

Что ответить на собеседовании

Оформите транзакцию как сохраняемую state machine: подготовлена, ожидает подписи, подписана, отправлена, подтверждена либо завершилась ошибкой. Приватный ключ остаётся у клиента.

Подробный разбор

Ответ с пояснениями

Условие

Разработать схему жизненного цикла транзакции от её создания до окончательного подтверждения.

  1. Транзакция генерируется алгоритмом, который выдаёт неподписанную структуру.
  2. Транзакция считается подтверждённой, когда блокчейн возвращает статус CONFIRMED по её хешу.
  3. Учесть, что подпись транзакции выполняется на клиентской стороне, а не на сервере.
  4. Этапы жизненного цикла: формирование неподписанной транзакции → подпись → отправка в блокчейн → получение подтверждения.

Ответ

Оформите транзакцию как сохраняемую state machine: подготовлена, ожидает подписи, подписана, отправлена, подтверждена либо завершилась ошибкой. Приватный ключ остаётся у клиента.

Клиент проверяет сеть, адрес, сумму и комиссии перед подписью. Подписанный payload отправляется в сеть, его hash сохраняется; подтверждение получают проверкой по этому hash. Повтор запроса не должен создавать новый перевод: используйте идентификатор операции и проверку уже отправленной транзакции. Тайм-аут означает неизвестный результат, а не доказанный отказ. Правила окончательности и возможной реорганизации зависят от сети; статус CONFIRMED трактуйте согласно её контракту.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее