Skip to content

xuyl0104/blockchain_ponzi_detection

Repository files navigation

This code is for Ponzi Scheme Detection on Ethereum platform.

Requirements: (see the envoronment.yml file for more details)
    python 3.6
    scikit-learn
    matplotlib
    graphviz
    xgboost

Before you run:
    Option 1: let the code download all the data automatically. This may take a long time.
    Option 2: download the dataset from Google Drive (https://drive.google.com/open?id=1izaOs4Mlp6dxdRMtRYQeUfkDhlqLf4Z6). 
              Unzip and replace the data folder in the root folder.
              Comment out some lines of code according to the instructions in the main.py file

How to run:
    1) create conda environment:
        conda env create -f requirements.yml
    2) activate the virt env:
        source activate blockchain
    3) run the code. This will download datasets, extract features, build models and output performance:
        python main.py

Performance:
    ######################## Training the model using only transaction features ########################
    precision: 0.66%  recall: 0.23%  f-score: 0.33%

    ######################## Training the model using only opcode features ########################
    precision: 0.84%  recall: 0.67%  f-score: 0.74%

    ######################## Training the model using combined features ########################
    precision: 0.87%  recall: 0.68%  f-score: 0.76%

Note: Travis CI CD is supported.

About

Ponzi Schemes Detection project for Blockchain class

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published