novusshu / solidity-fl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

solidity-fl

This is a prototype for running a federated learning algorithm using an Ethereum Smart Contract. The prototype has been implemented using the truffle suite and a Python Flask backend server for simulations.

You can use the intialization script by running launch_app.sh. Otherwise, you can manually start the different processes as follows.

Install the node dependencies both in the main folder and in the client folder by running (once for each):

npm install

In the main directory, to start the python backend server call:

pip install requirements.txt

flask run

Then, run a developpement blockchain using truffle:

truffle develop

In a seperate terminal deploy the smart contracts:

truffle compile; truffle migrate

Finally, to run the react-based client, in the client folder:

npm start

##Requirements

This code has been tested with Node version 12.16.1

Make sure that a mongodb service is running in the background

About

License:MIT License


Languages

Language:Python 43.7%Language:JavaScript 35.3%Language:Solidity 15.4%Language:HTML 3.8%Language:CSS 1.5%Language:Shell 0.3%