Skip to content

deep0304/cryptoTracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

43 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

A Comprehensive Blockchain Forensic Tool - HackwithMAIT 5.0 Project


A powerful blockchain forensic tool that combines Neo4j's graph visualization capabilities with machine learning-based anomaly detection to track and analyze suspicious transactions on the Tezos blockchain. Built for enhanced transparency and security in the crypto ecosystem.

Table of Contents

View Demo

Working Prototype Demo

prototype-demo.webm

Idea Presentation

presentation-demo.mp4

๐Ÿ› ๏ธ Technology Used

Backend Technologies

Technology Name Purpose
MongoDB MongoDB Storage and management of transaction metadata
Express.js Express.js RESTful API development framework
Node.js Node.js Server-side runtime environment
Neo4j Neo4j Graph database for relationship mapping and analysis
Python Python Backend logic for machine learning and data processing

Frontend Technologies

Technology Name Purpose
React React.js User interface development
D3.js D3.js Interactive graph visualizations
Material-UI Material-UI Component library for modern UI design

Machine Learning Stack

Technology Name Purpose
Scikit-learn Scikit-learn Pattern analysis and machine learning operations

๐Ÿš€ Key Features

  • Advanced Graph Visualization

    • Interactive wallet relationship mapping
    • Real-time transaction flow tracking
    • Cluster analysis for identifying related wallets
    • Custom graph querying capabilities
  • Machine Learning-Powered Detection

    • Real-time anomaly detection using Isolation Forest
    • Pattern recognition for mixing services
    • Behavioral analysis of wallet activities
    • Automated risk scoring system
  • Comprehensive Forensics Suite

    • Detailed transaction path analysis
    • Historical pattern recognition
    • Export capabilities for investigation reports
    • Custom alert configuration

๐ŸŽฎ Usage

Once the application is up and running, you can:

  1. Visualize Wallet Networks

    • Import wallet addresses
    • View transaction relationships
    • Analyze connection patterns
  2. Monitor Transactions

    • Track real-time blockchain activity
    • Receive alerts for suspicious patterns
    • Generate investigation reports
  3. Analyze Patterns

    • Identify mixing services
    • Detect unusual transaction flows
    • Track fund movements

๐Ÿ“ฆ Installation

Prerequisites

  • Node.js (v14 or higher)
  • MongoDB
  • Neo4j Database
  • Git

Getting Started

  1. Clone the Repository

    git clone https://github.com/deep0304/cryptoTracker
    cd cryptoTracker
  2. Environment Configuration

    Before running the project, you need to configure environment variables for JWT, MongoDB, and API keys. Follow these steps:

    • Rename the .env.example file to .env.
    • Update the necessary fields with your own values:
  3. Backend Setup

    # Navigate to backend directory
    cd backend
    
    # Install dependencies
    npm install
    
    # Start the backend server
    npm run start
  4. Frontend Setup

    # Open a new terminal and navigate to frontend directory
    cd frontend
    
    # Install dependencies
    npm install
    
    # Start the development server
    npm run dev
  5. ML Model Setup

    # Install required Python packages
    pip install -r requirements.txt
    
    # Run the model script
    python3 app.py

Access Points

  • Frontend: http://localhost:5173
  • Backend: http://localhost:3000
  • python-model: http://localhost:5000

Project Structure

cryptoTracker/
โ”œโ”€โ”€ backend/                      # Express server and API routes
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ middlewares/          # Middleware functions
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ user.js
โ”‚   โ”‚   โ”œโ”€โ”€ models/               # Database models
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ searchHistory.model.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ transaction.model.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ user.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ wallet.model.js
โ”‚   โ”‚   โ”œโ”€โ”€ neo4j/                # Neo4j database configuration
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ neo4j.js
โ”‚   โ”‚   โ”œโ”€โ”€ router/               # API routes
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ adminRouter.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ bitcoin.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ethereum.js
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ tezosRouter.js
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ userRouter.js
โ”‚   โ”‚   โ”œโ”€โ”€ utils/                # Utility functions
โ”‚   โ”‚   โ””โ”€โ”€ db.js                 # Database configuration
โ”‚   โ”œโ”€โ”€ .env                      # Environment variables
โ”‚   โ”œโ”€โ”€ .env.example              # Environment variables example
โ”‚   โ”œโ”€โ”€ .gitignore
โ”‚   โ”œโ”€โ”€ index.js                  # Server entry point
โ”‚   โ””โ”€โ”€ package-lock.json
โ”‚
โ”œโ”€โ”€ frontend/                     # React application
โ”‚   โ”œโ”€โ”€ public/
โ”‚   โ”‚   โ”œโ”€โ”€ assets/
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ logo/
โ”‚   โ”‚   โ””โ”€โ”€ react.svg
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ ui/               # UI Components
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ AnomalyDashboard.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Dashboard.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SearchBar.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SearchHistory.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SearchPane.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SignIn.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ StatCards.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ SuspiciousTransaction.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ TransactionGraph.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ TransactionTable.jsx
โ”‚   โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ UserProfile.jsx
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ utils.js
โ”‚   โ”‚   โ”œโ”€โ”€ App.css
โ”‚   โ”‚   โ”œโ”€โ”€ index.css
โ”‚   โ”‚   โ”œโ”€โ”€ App.jsx
โ”‚   โ”‚   โ””โ”€โ”€ main.jsx
โ”‚   โ”œโ”€โ”€ .gitignore
โ”‚   โ”œโ”€โ”€ .eslintrc.js
โ”‚   โ”œโ”€โ”€ postcss.config.js
โ”‚   โ”œโ”€โ”€ tailwind.config.js
โ”‚   โ”œโ”€โ”€ vite.config.js
โ”‚   โ””โ”€โ”€ package.json
โ”‚
โ”œโ”€โ”€ python_model/                    # Machine Learning Models
โ”‚   โ”œโ”€โ”€ model/
โ”‚   โ”‚   โ””โ”€โ”€ anomaly_model.py
โ”‚   โ”œโ”€โ”€ data_preprocessing.py
โ”‚   โ”œโ”€โ”€ .env.example
โ”‚   โ”œโ”€โ”€ .gitignore
โ”‚   โ”œโ”€โ”€ app.py
โ”‚   โ””โ”€โ”€ requirements.txt
โ”‚
โ””โ”€โ”€ README.md

๐Ÿ‘ฅ ASPIRE - Team Details

GitHub Name Role & Expertise
Team Leader
Om Lakshya Deep โ€ข Backend API Routes
โ€ข Machine Learning Model Development
Team Members
Amit Singhal โ€ข MongoDB Integration
โ€ข Backend-Frontend Integration
โ€ข GitHub Repo Management
Uttkarsh Singh โ€ข Frontend Development
โ€ข UI Implementation
Kunal โ€ข User Authentication

๐Ÿ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.


Made with โค๏ธ for a more transparent blockchain ecosystem

About

A Comprehensive Blockchain Forensic Tool.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published