Our App provides a way to set up a scalable private-permissioned blockchain that helps us retain data integrity while counteracting the redundant nature of blockchains by using a local Interplanetary File System that works on the Proof of Authority consensus mechanism, keeping efficiency and speed at heart.
We provide a seamless yet secure way for private and government enterprises to store large amounts of data while preventing unauthorized access/ modifications. We believe that this would be especially useful for law enforcement, banking and healthcare where malicious actors looking to modify data can bring about catastrophic consequences.
•Index.js: This file contains the main backend source code responsible for rendering all project web pages.
•views: This directory contains HTML, CSS, and EJS files, each responsible for a specific web page's layout and functionality.
•assets: Folder with images used throughout the application
•IPFS: This directory contains configuration and files related to InterPlanetary File System (IPFS), enabling decentralized file storage and retrieval.
•exonum_chain: This directory contains configuration and files related to the Exonum Private Blockchain framework, facilitating secure and efficient blockchain transactions.
Technologies integrated to make the website up and running:-
Frontend
•HTML5 (Hypertext Markup Language)
•CSS3 (Cascading Style Sheets)
•Embeded Javascript (EJS)
Backend
•Node.js
•Express.js
Database Management
•MongoDB
Blockchain Frameworks
•Exonum
Decentralized Storage
•IPFS (InterPlanetary File System)
Before you begin, ensure you have met the following requirements:
- Node.js installed on your computer (preferably version 14 or higher)
- npm (Node Package Manager) installed
To set up your firewall for both IPFS and Exonum, allow the following ports:
Inbound Rules:
-
TCP:
- 4001 (IPFS swarm)
- 4002 (IPFS API)
- 5001 (IPFS gateway)
- 8080 (Optional, for additional services)
-
UDP:
- 4001 (IPFS swarm)
Outbound Rules:
-
TCP:
- 4001
- 4002
- 5001
- 8080
-
UDP:
- 4001
Inbound Rules:
- TCP:
- 8080 (Exonum API)
- 8000 (Exonum node service, if applicable)
- 8001 (Exonum websocket service, if applicable)
Outbound Rules:
- TCP:
- 8080
- 8000
- 8001
git clone https://github.com/2SuryaPrakash/DataFortEnsure that your device has npm and node installed. If it is installed,
npm installThis will install all the dependencies.
Note. Every time you are initializing with the IPFS server, update the api_link variable in index.js,upload.ejs and privatenode.js with the current IP address of the IPFS host server.
ipconfigCopy the IPv4 Address and assign it to the API_LINK variable.
node file_server.jsThis will start the ipfs server.
node index.jsThis will start the server and the website will work on your localhost.
To view the website, go to:
https://localhost:3000
Please read the separate README files located in the IPFS and exonum_chain directories for detailed instructions on setting up and configuring each component. These documents provide essential information tailored to help you work with IPFS and Exonum effectively.