Skip to content

Latest commit

 

History

History
109 lines (90 loc) · 3.3 KB

README.md

File metadata and controls

109 lines (90 loc) · 3.3 KB

CONTENTS OF THIS FILE

  • Introduction
  • Techstack
  • Setup
  • Repository Structure
  • Extension
  • Maintainers

INTRODUCTION

Trumped: News served by ML, verified by Blockchain



Trumped has three parts of the working project:

  • Machine Learning model:
    For classfying a given article as fake or real and blacklisting the publishers accordingly

  • Smart Contracts: Users pay ether to authentic news Publishers; each Publisher is asked for a security deposit before publishing their news article

  • Website: Where the Publishers publish their news for the Users to see


Demo video:

TECHSTACK

SQLAlchemy,
Solidity (version 0.5.11),
Ganache (v2.1.1.) + Metamask (version 7.2.1.),
Python-Flask (version 1.1.1),
Pandas (version 0.25.1),
Numpy (version 1.17.2),
Sklearn

SETUP

Prerequisites

Modules:
Clone this repository.
In Trumped/, do: pip install -r dependencies.txt on terminal.


Metamask:
To simulate the working of this Trumped on a local blockchain, we need at least 4 wallets.
For the purpose of this repository, the accounts used are as follows:

  • trumped: Platform (Website's wallet)
  • Spyder: FakeNews Publisher
  • Harishchandra: AuthenticNews Publisher
  • Mocha: User (viewer)

The aforementioned users are stored locally in the Ropsten network connected the host browser. The payments made by *Mocha*, *Sypder*, and *Harichandra* are done using Metamask. Solidity files, stored in `contracts`, user the active wallet address in Metamask, and have the receiver address value hardcoded.

Running Trumped

To set up user and/or publisher accounts on local Ethereum, Ganache transactions can be used to connect to Metamask wallets. Change to Custom RPC on Metamask to the RPC server on Ganache. Import account using Ganache account key.

In Trumped/, run: FakeNewsClassifier.py. NewsTypeClassifier.py. to train and save the results of these models on your local machine.

In Trumped/, run: python run.py.
Select appropriate accounts for respective transactions.

REPOSITORY STRUCTURE

  • project
    • contracts (Solidity smart contracts)
      • SecurityDeposit.sol
      • Refund.sol
      • FeeForAuthentic.sol
    • data
    • static
    • templates
    • FakeNewsClassifier.py
    • NSV.db
    • NewsTypeClassifier.py
    • init.py
    • forms.py
    • models.py
    • news (data set for training News Category Identifier)
    • routes.py
    • test_fake.csv (data set for testing Fakes News Classifier)
    • train_fake.csv (data set for testing Fakes News Classfier)
  • .gitignore
  • createDb.py
  • dependancies.txt
  • run.py
  • LICENSE
  • README.md

MAINTAINERS

This project has been developed in KJSCE Hack 2019, at K.J. Somaiya College of Engineering, Vidyavihar, India in the time period of 24 hours. The contributors to the project and this repository are :

Ms. Nidhee Kamble (nidheekamble)
Mr. Shreyansh Chheda (shrey-c)
Ms. Vidhi Rambhia (VidhiRambhia)