Skip to content

Releases: AlexAgents/mycelium-core

Release list

v1.0.1

Choose a tag to compare

@AlexAgents AlexAgents released this 03 Jun 15:59
Immutable release. Only release title and notes can be modified.

Date: 2026-06-03

EN   RU   Figma   Docs   SRS   Diagrams


Changelog

Final release. All architectural, functional and UX requirements
from the original SRS are met. Includes maintenance release v1.0.1
with critical bug fixes identified during pre-defence code review.

Финальный релиз. Все архитектурные, функциональные и UX-требования
исходного ТЗ выполнены. Включает техническое обновление v1.0.1
с критическими исправлениями, выявленными в ходе code review.

v1.0.0 - Added / Добавлено

Core / Backend

  • precheck_vote() - 5-level pre-vote validation / 5-уровневая предголосовая валидация
  • build_full_report() - single source of truth for audit / единый источник для экспорта аудита
  • fund_from_dev() - async transfer from Geth dev account / асинхронный перевод с dev-аккаунта
  • check_start_voting_ready() - pre-flight check / предварительная проверка перед стартом
  • get_chain_stats() - disk usage stats / статистика использования диска
  • reset_blockchain_data() - full reset with retry / полный сброс с повторными попытками
  • ErrorParser - extracted to dedicated module / выделен в отдельный модуль с i18n-ключами
  • PrecheckResult / PrecheckStatus - typed result objects / типизированные объекты результата
  • GethManager._shutting_down - prevents false crash callbacks / предотвращает ложные crash

UI / UX

  • Logs tab: live search, autoscroll, file info / вкладка Логи: поиск, автопрокрутка, инфо-строка
  • About dialog with logo, version, GitHub link / диалог О программе с логотипом и ссылкой
  • Reset Blockchain button with confirmation / кнопка сброса блокчейна с подтверждением
  • Startup warning for large chain-data (>500 MB) / предупреждение при большом chain-data
  • Stage-aware audit mode availability / доступность режимов аудита по стадиям
  • Drag-and-drop JSON import for voters / импорт избирателей через перетаскивание JSON
  • Toast notification queue with deduplication / очередь тостов с дедупликацией
  • Fund from Dev button (dev-mode only) / кнопка перевода с dev-аккаунта
  • Unified MessageDialog replacing QMessageBox / единый виджет диалогов
  • All hardcoded strings moved to i18n JSON / все строки вынесены в i18n

Architecture / Архитектура

  • Strict layer separation: UI never imports web3 / строгое разделение: UI не импортирует web3
  • 7 Architecture Decision Records (ADR-001..007) / 7 задокументированных архитектурных решений
  • Logger auto-archives previous session.log / логгер архивирует предыдущий лог при старте

Documentation / Документация

  • MkDocs Material: 70+ pages, EN/RU bilingual / 70+ страниц, двуязычный
  • 17 PlantUML diagrams across 5 categories / 17 UML-диаграмм в 5 категориях
  • 6 BPMN 2.0 processes with Camunda sources / 6 бизнес-процессов BPMN 2.0
  • STRIDE threat model + SEC-01..06 / модель угроз STRIDE + 6 проверок безопасности
  • Figma UI mockups with 53 annotation notes / Figma-макеты с 53 аннотациями
  • Design system, color palette, components / дизайн-система, палитра, компоненты
  • API reference for 10 core modules / справочник API для 10 модулей ядра
  • SRS, Glossary (33 terms), FAQ (16 questions) / SRS, глоссарий (33 термина), FAQ (16 вопросов)
  • Simple export script (DOCX/PDF) / скрипт экспорта по ГОСТ 7.32-2017

v1.0.1 - Changed / Изменено

  • ErrorParser.parse() returns i18n keys / возвращает i18n-ключи вместо строк
  • Voter status via debounced VoterStatusWorker / статус через асинхронный worker
  • _sec06_shown moved to instance attribute / перенесён в атрибут экземпляра
  • Test fixtures use valid 40-char addresses / тесты используют корректные адреса
  • RU whitelist warning matches button label / RU-предупреждение совпадает с кнопкой

v1.0.1 - Fixed / Исправлено

  • Duplicate _force_kill_pid (lost /T flag) / дубликат метода (потерян флаг /T)
  • enable_unaudited_hdwallet_features() removed / удалён вызов при импорте модуля
  • Duplicate geth.stop() in closeEvent / двойной вызов geth.stop() при закрытии
  • UI freeze on keystroke in Vote tab / зависание UI при вводе ключа на вкладке Vote
  • Proxy bypass for localhost RPC / обход прокси для localhost
  • IPC pipe conflict (--ipcdisable) / конфликт IPC при повторных запусках
  • PyInstaller paths (ROOT vs BUNDLE_DIR) / пути ресурсов в собранном EXE

Tests / Тесты

  • 180 passed in ~100 seconds / 180 пройдено за ~100 секунд
  • 12 full lifecycle integration tests / 12 интеграционных тестов полного цикла
  • Strict markers: integration excluded by default / интеграционные исключены по умолчанию

Checksums (SHA-256)

9dd0644f83f3e8cde07342906935c51d60e3ec25591ad9ccb3dcb140c94e1c67  MYCELIUM_CORE.exe
How to verify / Как проверить

PowerShell:

Get-FileHash "MYCELIUM_CORE.exe" -Algorithm SHA256 | Format-List

Linux / macOS:

sha256sum MYCELIUM_CORE.exe

Download / Скачать

File Description / Описание
MYCELIUM_CORE.exe Windows 10/11 (64-bit). Portable. / Портативное, установка не требуется.
checksums.txt SHA-256 hash for verification. / Хеш для проверки целостности.

⚠️ Notes / Примечания

  • Geth required / Требуется Geth: place geth.exe in bin/ next to EXE / положите geth.exe в папку bin/ рядом с EXE
  • Solidity compiler / Компилятор Solidity: downloaded on first deploy via py-solc-x / скачивается при первом деплое (нужен интернет)
  • Offline deploy / Деплой без интернета: pre-install with python -c "from solcx import install_solc; install_solc('0.8.20')"
  • SmartScreen: Windows may warn on first launch / Windows может предупредить при первом запуске - More info -> Run anyway
  • Antivirus / Антивирус: PyInstaller EXE may trigger false positives / возможны ложные срабатывания - проверяйте по SHA-256
  • Proxy / Прокси: app bypasses proxy for localhost automatically / обход прокси для localhost автоматический
  • No real ETH / Без реального ETH: local Geth dev mode (network 1337), fully isolated / полностью изолированная локальная сеть

Licensed under MIT | Author: AlexAgents

v0.0.1

v0.0.1 Pre-release
Pre-release

Choose a tag to compare

@AlexAgents AlexAgents released this 02 Jun 20:37
Immutable release. Only release title and notes can be modified.

Date: 2026-06-02

EN

Note: This release corresponds to changelog entry [0.1.0] — 2024-03-01.
Tag v0.0.1 was used for the initial GitHub upload.

Примечание: Этот релиз соответствует записи в changelog [0.1.0] — 2024-03-01.
Тег v0.0.1 использован для первой загрузки на GitHub.


Changelog

Initial implementation based on SRS v1.0.
First working version of the blockchain voting sandbox.

Первоначальная реализация на основе ТЗ v1.0.
Первая рабочая версия sandbox-приложения для блокчейн-голосования.

Smart Contract / Смарт-контракт

  • VotingCore.sol (Solidity 0.8.20)
  • Stages: Setup -> Active -> Finished (irreversible) / Стадии: необратимый переход
  • Whitelist enforcement, double-vote protection / защита whitelist и от двойного голосования
  • Custom errors: NotWhitelisted, AlreadyVoted, CandidateNotFound, InvalidStage, Unauthorized
  • Max 10 candidates, batch voter registration / макс. 10 кандидатов, пакетная регистрация

Backend / Бэкенд

  • VotingService - blockchain transaction management / управление транзакциями
  • AuditService - event-based security verification / верификация через события
  • NonceManager - thread-safe nonce tracking / потокобезопасное отслеживание nonce
  • AppController facade - UI never imports Web3 / UI не импортирует Web3 напрямую
  • _SecretFilter - prevents key leaks in logs / предотвращает утечку ключей в логи
  • secure_clear() - key cleanup in memory / очистка ключей из памяти
  • Config: app.cfg (AppConfig) + .env (EnvConfig) / конфигурация с миграцией

UI / Интерфейс

  • Three tabs / три вкладки: Admin, Vote, Audit
  • Admin: deploy, candidates, voters, whitelist, stages / деплой, кандидаты, избиратели, стадии
  • Vote: private key input, candidate selection, QR receipt / ввод ключа, выбор кандидата, квитанция
  • Audit: 5 security checks, results, JSON export / 5 проверок безопасности, экспорт
  • Background workers via QThread / фоновые задачи: Deploy, Vote, Audit, VoterStatus, Status
  • Dark and light themes via QSS / тёмная и светлая темы
  • EN/RU internationalization / интернационализация

Infrastructure / Инфраструктура

  • Local Geth in --dev mode / локальный Geth в dev-режиме
  • Crash detection with UI callback / обнаружение крэша с уведомлением UI
  • Auto-cleanup of chain-data on startup / автоочистка chain-data при старте

Tests / Тесты

  • 5 test files / 5 файлов тестов: validators, models, crypto, compiler, controller

Requirements / Требования

  • Python 3.11+
  • Geth binary in bin/ / бинарник Geth в папке bin/
  • Internet for first deploy (Solidity compiler via py-solc-x) / интернет для первого деплоя

Notes / Примечания

  • No EXE in this release / Нет EXE в этом релизе: build from source / сборка из исходников
  • No documentation package / Нет пакета документации: added in v1.0.0 / добавлен в v1.0.0
  • No Logs tab / Нет вкладки Логи: added in v1.0.0 / добавлена в v1.0.0
  • No Mass Vote / Нет массового голосования: added in v0.2.0 / добавлено в v0.2.0
  • No ErrorParser / Нет парсера ошибок: errors shown as raw text / ошибки показываются как текст
  • Synchronous voter status / Синхронный статус: UI may freeze / UI может зависать

Licensed under MIT | Author: AlexAgents