m.moddie / dev
← Все проекты
Проект / 08

CryptoExchange

Архивный прототип P2P-биржи с ledger-учетом и заменяемыми блокчейн-адаптерами.

Python · P2P · Multi-chainCryptoExchangeFastAPI / PostgreSQL / Redis / Web3.py / Next.js
01 / О проекте

О проекте

Архивный прототип P2P-биржи с ledger-учетом и заменяемыми блокчейн-адаптерами.

02 / Архитектурный разбор

P2P-биржа вокруг инвариантов учёта

CryptoExchange является незавершённой white-label P2P-биржей для Telegram. Ценная часть проекта: backend-модель, где offers, deals, disputes и reputation построены вокруг double-entry ledger и заменяемых блокчейн-клиентов.

03 / Идея продукта

Мейкеры публикуют фиатные offers, тейкеры открывают deals, а криптоактив удерживается во внутреннем ledger до завершения, отмены или решения спора. Network indexers находят депозиты, отдельные workers обрабатывают учёт, выводы и уведомления.

Транзакционная граница

Бизнес-состояние фиксируется в PostgreSQL; внешние сети обрабатываются через адаптеры и workers.

APPLICATION FLOW
01

Telegram Mini App

Пользовательские сценарии

02

FastAPI

Auth и команды

03

P2P modules

Offers, deals, disputes

04

Ledger + UoW

Холды и атомарные переходы

05

Chain registry

Адаптеры TON, EVM и TRON

06

Workers

Депозиты, выводы, уведомления

Архитектурные решения

01

Ledger как source of truth

Доступные и удержанные средства представлены сбалансированными проводками вместо изменяемых balance columns.

02

Атомарные переходы сделки

Unit of Work и row locks удерживают статус сделки, объём offer и учётные изменения в одной транзакции.

03

Унифицированные бизнес-модули

Users, offers, deals, disputes и reputation имеют одинаковую структуру model, schema, repository, service и provider.

04

Заменяемые chain-клиенты

BaseRPC и BaseIndexer изолируют логику приложения от реализаций TON, EVM и TRON, выбранных через registry.

05

Отдельные операционные процессы

Deposit, withdrawal, ledger и notification workers могут перезапускаться и масштабироваться независимо от API.

Карта проекта

Границы модулей описывают задуманный lifecycle биржи яснее, чем незавершённый интерфейс.

CRYPTOEXCHANGE / BACKEND
CRYPTOEXCHANGE / BACKEND
backend/srcapplication root
core/database/async engine · UoW · base repository
modules/accounting/ledger · holds · settlements
modules/p2p/exchange domain
offers/maker listings and available volume
deals/paid · complete · cancel lifecycle
disputes/review and resolution
reputation/post-deal reviews
payment_methods/fiat requisites
blockchain/registry and chain interfaces
clients/ton/TON RPC and indexer
clients/evm/Ethereum and BNB adapters
clients/tron/TRX and TRC20 adapter prototype
modules/notification/templates and delivery
infra/docker/four independent workers
frontend/Next.js Telegram Mini App prototype
Границы прототипа

Core domain и ledger развиты дальше presentation layer. Frontend всё ещё содержит mock-oriented экраны, а deposit sweeping, withdrawal processing и ledger validation не были завершены как проверенный end-to-end release.