Skip to content

DepartmentOfSoftwareEngineeringFEFU/B9121-09.03.04_Gandzyuk_Danil

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Информация

Тема диплома: Разработка программной системы для выявления уязвимостей в смарт-контрактах

Автор: Гандзюк Данил Александрович

Группа: Б9121-09.03.04

Научный руководитель: Старший преподаватель ДПИиИИ Крестникова Ольга Александровна

Основной репозиторий

Требования

  • NodeJS v22.14.0
  • Python v3.13.1
  • pip v25.1.1

Пошаговая инструкция

1. Клонирование репозитория

Установите Git LFS:

# Windows (с Git for Windows)
git lfs install

# macOS
brew install git-lfs
git lfs install

Клонируйте репозиторий любым удобным для Вас способом.

git clone https://github.com/elstrak/ajax.git
cd ajax
git lfs pull  # Нужно для загрузки файла модели ML

2. Установка MongoDB

  1. Windows:

    1. Скачайте MongoDB Community Server с mongodb.com
    2. Установите, следуя инструкциям
    3. Запустите MongoDB:
    net start MongoDB
  2. macOS:

    brew install mongodb-community
    brew services start mongodb-community

3. Настройка сервера

  1. Откройте терминал в папке server:

    cd server
  2. Установите зависимости:

    npm install
  3. Создайте файл .env в папке server со следующим содержимым:

    PORT=5000
    MONGODB_URI=mongodb://localhost:27017/smartcontract-analyzer
    JWT_SECRET=some_secret_key
    NODE_ENV=development
    ML_SERVICE_URL=http://localhost:8000
    

4. Настройка ML-сервиса

  1. Откройте терминал в папке ml_service:

    cd ml_service
  2. Установите зависимости:

    pip install -r requirements.txt

Примечание: Если у вас нет CUDA или возникают проблемы с PyTorch, используйте CPU версию:

 pip install torch==2.7.0 torchvision==0.22.0 torchaudio==2.7.0 --index-url https://download.pytorch.org/whl/cpu

5. Настройка клиента

  1. Откройте терминал в папке client:

    cd client
  2. Установите зависимости:

    npm install

Запуск

Запускайте все три сервиса в разных терминалах одновременно!

1. Терминал 1: ML сервис

cd ml_service/src/api
python -m uvicorn fastapi_service:app --reload --host 0.0.0.0 --port 8000

2. Терминал 2: Сервер

cd server
npm run dev

3. Терминал 3: Клиент

cd client
npm run dev

Приложение будет доступно по адресу:
http://localhost:3000/


About

Репозиторий, содержащий описание и ссылку на исходный код дипломной работы "Разработка программной системы для выявления уязвимостей в смарт-контрактах"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors