Skip to content

A website which provides authentic news to its users. Machine Learning concepts like NLP have been used and integrated with the backend to ensure authenticity. For malicious posts, a penalty is imposed on the publisher, which is achieved by a blockchain ethereum network.

License

Notifications You must be signed in to change notification settings

VidhiRambhia/Trumped

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)

About

A website which provides authentic news to its users. Machine Learning concepts like NLP have been used and integrated with the backend to ensure authenticity. For malicious posts, a penalty is imposed on the publisher, which is achieved by a blockchain ethereum network.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages