YAML стандарты переписаны под текущую модель (5/1/1 операций), удалены блоки удалённых операций и упоминания старой схемы: p.mkt.supply.standard.yaml — 5 операций: o.mkt.lock — TRANSFER w.wal.share → w.mkt.order, Дт 80 / Кт 86 o.mkt.unlock — TRANSFER w.mkt.order → w.wal.member, без проводки o.mkt.purch — NONE, Дт 10 / Кт 86 o.mkt.payout — ISSUE → w.mkt.payout, Дт 86 / Кт 51 o.mkt.consum — BURN w.mkt.order, Дт 86 / Кт 10 Удалены: o.wal.conv, o.mkt.assign, o.mkt.recall, o.mkt.consum2 p.mkt.return.standard.yaml — 1 операция: o.mkt.return — ISSUE → w.wal.member, Дт 10 / Кт 86 Удалена: o.mkt.return2 p.mkt.wroff.standard.yaml — 1 операция: o.mkt.wroff — NONE, Дт 86 / Кт 10 Удалена: o.mkt.wroff2 Полностью удалены deprecated поля из TS controller (не оставлены даже как deprecated пометки): - MarketplaceOrderCreateTxSnapshotDTO.did_convert / did_assign - MarketplaceOrderCreateTxSnapshot.did_convert / did_assign - Поле blocked_amount переименовано в locked_amount (везде: DTO, entity, service, spec, infrastructure entity) Зачистка doc-комментариев от удалённых операций в C++ + TS: - processes.hpp, lib/core/marketplace/marketplace.hpp, marketplace/marketplace.hpp, table_marketplace_writeoff_proposals.hpp, wallets.hpp (description w.mkt.order под новый flow) - marketplace-canonical-blockchain.port.ts, marketplace-order-cancel.service.ts, marketplace-issuance.service.ts, marketplace-offer.entity.ts, marketplace-order.entity.ts, marketplace-return-claim.types.ts - marketplace-ledger2-invariants.ts: I2 формула, I3 формула, I4 пояснение - marketplace-process-trace-coverage.spec.ts: EXPECTED_MARKETPLACE_OP_CODES и EXPECTED_REGISTRY переписаны под 7 операций (5 supply + 1 return + 1 wroff) с актуальными wallet_op / debit / credit Bulk переименование o.mkt.unblk → o.mkt.unlock, o.mkt.block → o.mkt.lock в комментариях C++ контракта и TS controller. Проверки: - C++ contract пересобран (dicoop/blockchain_v5.1.1:dev arm64): 0 errors, marketplace.wasm + .abi созданы - jest invariants + resolver: 31/33 passed (2 fail — те же pre-existing baseline Story 11.1 cooptypes/operations.ts) - cooptypes regen + schema/zeus/sdk cascade прошли успешно Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Цифровой Кооператив
Платформа «Цифровой Кооператив» — комплексное программное обеспечение для управления кооперативными организациями на основе блокчейна EOSIO. Система обеспечивает полный цикл управления кооперативом: от регистрации пайщиков и электронного документооборота до проведения собраний и финансового учёта. Построена на принципах прозрачности, децентрализации и простой электронной подписи.
Проект является частью экосистемы Кооперативная Экономика.
Архитектура
| Компонент | Пакет | Описание |
|---|---|---|
| boot | @coopenomics/boot |
CLI для инициализации и управления блокчейн-инфраструктурой |
| cleos | @coopenomics/cleos |
Утилита командной строки для работы с блокчейн-кошельком |
| contracts | @coopenomics/contracts |
Смарт-контракты EOSIO на C++ |
| controller | @coopenomics/controller |
GraphQL API сервер (NestJS) |
| cooptypes | cooptypes |
Общие типы и интерфейсы блокчейн-контрактов |
| desktop | @coopenomics/desktop |
Рабочий стол кооператива (Vue 3 + Quasar) |
| factory | @coopenomics/factory |
Генератор юридических документов |
| migrator | migrator |
Утилита миграции данных |
| notifications | @coopenomics/notifications |
Библиотека уведомлений на основе Novu |
| parser | @coopenomics/parser |
Индексатор блокчейна через State History Plugin |
| sdk | @coopenomics/sdk |
TypeScript SDK для GraphQL API |
| setup | @coopenomics/setup |
Мастер первоначальной настройки |
Быстрый старт
Предварительные требования
- Node.js >= 20
- pnpm 9
- Docker и Docker Compose
- WeasyPrint (для генерации PDF)
Установка
pnpm install
Конфигурация
pnpm run setup
Интерактивный мастер создаст необходимые .env файлы для всех компонентов.
Запуск инфраструктуры
docker compose up -d
pnpm run reboot
Разработка
Бэкенд (controller + parser)
pnpm run dev:backend
Фронтенд (desktop)
pnpm run dev:desktop
Библиотеки (factory + cooptypes)
pnpm run dev:lib
Все сервисы одновременно
pnpm run dev:all
Примечание: установка пакетов производится только через фильтр:
pnpm add <пакет> --filter <компонент>
Тестирование
# Все тесты
pnpm run test
# Юнит-тесты (cooptypes, parser, notifications)
pnpm run test:unit
# Компонентные тесты (factory)
pnpm run test:component
# Интеграционные тесты (boot + blockchain)
pnpm run test:integration
Сборка
# Библиотеки (cooptypes, factory)
pnpm run build:lib
# Смарт-контракты
pnpm run build:contracts:all
# Desktop (SSR)
pnpm --filter @coopenomics/desktop run build
Лицензия
Продукт Потребительского Кооператива «ВОСХОД» распространяется по лицензии BY-NC-SA 4.0.
Разрешено делиться, копировать и распространять материал, адаптировать и создавать производные произведения при условии указания авторства и сохранения той же лицензии. Коммерческое использование запрещено.