Releases: AlexAgents/mycelium-core
Release list
v1.0.1
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
MessageDialogreplacing 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_shownmoved 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/Tflag) / дубликат метода (потерян флаг/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 (
ROOTvsBUNDLE_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-ListLinux / macOS:
sha256sum MYCELIUM_CORE.exeDownload / Скачать
| File | Description / Описание |
|---|---|
MYCELIUM_CORE.exe |
Windows 10/11 (64-bit). Portable. / Портативное, установка не требуется. |
checksums.txt |
SHA-256 hash for verification. / Хеш для проверки целостности. |
⚠️ Notes / Примечания
- Geth required / Требуется Geth: place
geth.exeinbin/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
Note: This release corresponds to changelog entry
[0.1.0] — 2024-03-01.
Tagv0.0.1was 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 / потокобезопасное отслеживание nonceAppControllerfacade - 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
--devmode / локальный 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