Web-based application for secure file storage on the blockchain
The Decentralized File Storage System is a web-based application built on web3 technology that enables users to securely upload and store files on the blockchain. It allows users to access and view their files directly from the browser when connected to the same wallet. Additionally, users can share files with other users by leveraging the allowlist feature, which allows specific addresses to access the shared files. Furthermore, the system provides the ability to disallow specific addresses from viewing the files, ensuring privacy and control over shared content.
-
File Upload on Blockchain: Users can upload their files to the blockchain, ensuring their data is securely stored and tamper-proof.
-
Direct Browser Access: Users can directly access and view their files through a web browser when connected to the same wallet.
-
File Sharing: Users can share files with other users by adding their addresses to the allowlist, granting them access to the shared content.
-
Allowlist Management: Users can easily manage the allowlist by adding or removing addresses, controlling who can view the shared files.
-
Privacy and Security: The system provides privacy and security by allowing users to disallow specific addresses from accessing their files, maintaining control over shared content.
-
Front-end: HTML, CSS, JavaScript
-
Back-end : Solidity, Hardhat(localhost) [Later deployed on mumbai testnet]
-
Blockchain Integration: Web3.js
-
API: Axios
-
Framework: ReactJS
-
Storage: Pinata
https://securesharex-web3.vercel.app/
-
Clone the repository:
git clone https://github.com/Raja543/File-storage-system.git
-
Navigate to the project directory:
cd client
- Install the dependencies
npm install
- Configure the project:
- Update the blockchain connection settings in the config.js file.
- Set up the necessary API keys or environment variables for blockchain integration.
- Start the application:
npm start-
Open the application in your web browser.
-
Connect your wallet to the application by selecting the appropriate wallet provider and authorizing the connection.
-
Upload files by clicking on the "Upload" button and selecting the desired files from your local machine.
-
View your files directly from the browser interface when connected to the same wallet.
-
Share files with other users by adding their addresses to the allowlist in the application settings.
-
Manage the allowlist by adding or removing addresses to control access to the shared files.
-
Disallow specific addresses to revoke their access to the shared content.
Contributions are welcome! If you would like to contribute to this project, please follow these steps:
-
Fork the repository.
-
Create a new branch for your feature or bug fix.
-
Make your changes and commit them with descriptive commit messages.
-
Push your changes to your forked repository.
-
Submit a pull request to the main repository.
This project is licensed under the MIT License.
For any questions or inquiries, please contact rajakumarmahto952@gmail.com , dipkarmakar14@gmail.com
Follow on social to get insights of upcoming web3 projects