D

DECNTRALISED GOOGLE DRIVE

Develop a decentralized Google Drive application using blockchain technology to address data control and privacy concerns, eliminate single points of failure, enhance data integrity and security.

D

DECNTRALISED GOOGLE DRIVE

Develop a decentralized Google Drive application using blockchain technology to address data control and privacy concerns, eliminate single points of failure, enhance data integrity and security.

The problem DECNTRALISED GOOGLE DRIVE solves

The rapid growth of blockchain technology has introduced new possibilities for data storage and management. In this project, we aim to develop a decentralized Google Drive application that tackles the challenges posed by centralized cloud storage services. By leveraging React.js for frontend development, Hardhat for smart contract development, and Ether.js for interacting with the Ethereum blockchain, we can create a solution that prioritizes data control, privacy, security, and efficient file sharing.

Architecture Overview:
Our decentralized Google Drive application architecture comprises three primary components: the frontend, smart contracts, and the Ethereum blockchain. React.js, a widely used JavaScript library, will be employed to build an intuitive and user-friendly frontend interface. Hardhat, an Ethereum development environment, will enable us to develop smart contracts that govern storage and access control logic. Ether.js, a JavaScript library, will facilitate seamless communication with the Ethereum blockchain, allowing interaction with the smart contracts.

Features and Functionality:

  1. User Registration and Authentication:
    Users will have the ability to create accounts securely and authenticate themselves. Through blockchain technology, we can ensure transparency and immutability in user registration and authentication processes.

  2. Decentralized Storage:
    Our application will utilize a decentralized storage system, distributing user files across multiple nodes in the network. By eliminating reliance on a central server, the risk of single points of failure is reduced, ensuring enhanced data availability.

  3. Data Control and Privacy:
    Users will have complete control over their data. Employing cryptographic techniques, we will guarantee data privacy and security. Smart contracts will govern access control mechanisms, empowering users to define permissions and selectively share files with others.

Challenges we ran into

While developing the Decentralised Google Drive project, we encountered several challenges that required careful problem-solving and innovative thinking. One specific bug we faced was related to the integration of the Solidity smart contracts with the front-end application built using React.js.

The bug manifested as inconsistent data retrieval from the Ethereum blockchain. Despite successful transactions and data storage on the blockchain, the front-end was not consistently displaying the correct file information. After extensive debugging, we identified the root cause: the asynchronous nature of the blockchain transactions was causing delays in updating the front-end state.

To overcome this bug, we implemented a comprehensive solution. First, we restructured the code to ensure proper handling of asynchronous operations. We utilized promises and async/await functions to synchronize the data retrieval process and guarantee that the front-end displayed the most up-to-date information.

Additionally, we implemented event listeners using Web3.js to detect and react to changes in the blockchain. By subscribing to specific contract events, we could update the front-end in real-time whenever a file was added, modified, or removed from the decentralized storage.

To ensure the stability and robustness of the system, we conducted rigorous testing, including unit tests and integration tests. This helped us identify and resolve any remaining issues or edge cases that could potentially disrupt the functionality of the application.

Overall, by employing diligent debugging, restructuring code, and leveraging event listeners, we successfully overcame the bug related to data consistency between the front-end and the Solidity smart contracts. This experience taught us valuable lessons about the intricacies of integrating blockchain technology with front-end frameworks and reinforced the importance of thorough testing to ensure a smooth user experience.

Tracks Applied (4)

Ethereum + Polygon Track

Decentralized Google Drive aims to address some of the limitations and concerns associated with centralized cloud storag...Read More

Polygon

Ethereum Track

Decentralized Google Drive aims to address some of the limitations and concerns associated with centralized cloud storag...Read More

Polygon

Replit

Our project, Decentralized Google Drive, is a dApp that uses a blockchain to store data. It is hosted on Replit, a platf...Read More

Replit

Quine Hackathon Track

The Quine Hackathon Track is focused on building decentralized applications (dApps) that use the power of blockchain tec...Read More

Quine

Discussion