Думал, вкачусь в крипту и буду просто дёргать API блокчейнов

Сеть чихнула. Два одинаковых вебхука. Без идемпотентности юзер получает двойной баланс за счёт платформы. Юзер жмёт вывод как пулемёт. Без SELECT FOR UPDATE баланс в минусе раньше чем сработает валидация. Блок был, транзакция confirmed, сеть передумала. Бэкенд врёт юзеру. Классика. Лечится один раз, если знаешь как. Идемпотентные ключи на каждом зачислении. Двойное зачисление невозможно по конструкции. SELECT FOR UPDATE NOWAIT на балансах. Celery с retries и гарантированной доставкой. Жёсткие статусные машины. ACID PostgreSQL. 8 месяцев в проде. 0 дублей. Throughput 4x. Webhook 100%. Крипта это когда данные сходятся до копейки при любом сбое сети.

goldin-systems.ru