Skip to content
This repository was archived by the owner on Nov 5, 2025. It is now read-only.

one-zero-eight/hackathon-random-numbers

Repository files navigation

Random Numbers Generator by one-zero-eight

Развернутый проект: https://hack.innohassle.ru

Описание

RandomTrust - система для генерации криптографически стойких случайных чисел с веб-интерфейсом и API. Управляйте полным циклом генерации: от сбора энтропии до аудиторских отчётов. Наблюдайте за процессом, анализируйте качество и делитесь результатами без компромиссов.

В качестве источников энтропии используются:

  • Лавовая лампа (через видеопоток)
  • Клиентская энтропия (движения мыши, клики и нажатия клавиш)
  • Системная энтропия (тайминги прерываний, события ввода, CPU-источники, аппаратные RNG)
  • Временная метка (время момента генерации)
  • Публичный маяк NIST
  • Квантовый генератор энтропии

Страницы на сайте:

  • Лотерейный тираж - основная страница генерации случайных комбинаций
  • Планировщик - планирование генерации случайных комбинаций в заданное время
  • Очередь - список запланированных генераций
  • Демонстрация - демонстрационный режим работы генератора с детальным объяснением этапов
  • Проверка результатов - проверка подписи и чисел
  • История тиражей - список всех прошлых генераций
  • Экспорт данных - экспорт результатов генерации в различные форматы
  • Статистический анализ - анализ статистических свойств последовательностей с помощью тестов NIST STS и Dieharder
image image image image

Архитектура проекта

  • Используется база данных MongoDB для легкого горизонтального масштабирования.
  • Сервер FastAPI запускается через менеджер процессов Gunicorn, который способен запускать несколько воркеров для обработки запросов, что позволяет обрабатывать большое количество запросов.
  • Модульная архитектура приложения позволяет легко добавлять новый функционал и улучшать существующий.
  • Фронтенд выполнен на React с декомпозицией на компоненты для удобства разработки и поддержки.
  • В качестве шлюза используется Nginx, который сможет обрабатывать большое количество запросов и распределять их между серверами при необходимости.
  • Интеграция с Web3.0 для публикации результатов генерации в блокчейн Base Sepolia и распределенное хранилище IPFS.
image

Инструкция по локальному запуску

Протестировано на Ubuntu 22.04 с архитектурой amd64.

Требования

Запуск приложения

Запустите все сервисы:

docker compose up --build

Откройте в браузере:

Остановка

docker compose down

Структура репозитория

  • frontend - фронтенд на React (см. подробное Readme)
  • backend - бэкенд на FastAPI (см. подробное Readme)
  • .github/workflows - GitHub Actions для автоматического деплоя на сервер

Авторы

Команда one-zero-eight:

About

Random number generator for lottery

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5