{"id":24055797,"url":"https://github.com/pushpakrai/decentralized-blockchain-file-sharing-application","last_synced_at":"2026-06-12T12:31:41.292Z","repository":{"id":270510798,"uuid":"910598462","full_name":"pushpakrai/Decentralized-Blockchain-File-Sharing-Application","owner":"pushpakrai","description":"A decentralized application, built for the purpose of sharing files using blockchain technology, is being developed.  This application will incorporate a crucial feature: the display of essential details concerning the owner's avatar.  ","archived":false,"fork":false,"pushed_at":"2024-12-31T19:29:45.000Z","size":250,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-26T11:28:38.640Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pushpakrai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-31T19:01:16.000Z","updated_at":"2024-12-31T19:29:48.000Z","dependencies_parsed_at":"2024-12-31T20:18:29.711Z","dependency_job_id":null,"html_url":"https://github.com/pushpakrai/Decentralized-Blockchain-File-Sharing-Application","commit_stats":null,"previous_names":["pushpakrai/decentralized-blockchain-file-sharing-application"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pushpakrai/Decentralized-Blockchain-File-Sharing-Application","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpakrai%2FDecentralized-Blockchain-File-Sharing-Application","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpakrai%2FDecentralized-Blockchain-File-Sharing-Application/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpakrai%2FDecentralized-Blockchain-File-Sharing-Application/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpakrai%2FDecentralized-Blockchain-File-Sharing-Application/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pushpakrai","download_url":"https://codeload.github.com/pushpakrai/Decentralized-Blockchain-File-Sharing-Application/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pushpakrai%2FDecentralized-Blockchain-File-Sharing-Application/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34245217,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-09T04:31:01.409Z","updated_at":"2026-06-12T12:31:41.255Z","avatar_url":"https://github.com/pushpakrai.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# Decentralized File Sharing Project (D-FILE)\n\nThis repository hosts the code for **D-FILE**, a decentralized file-sharing platform akin to Google Drive, developed using **Hardhat**, **Solidity (Smart Contracts)**, and **React.js**. By leveraging blockchain technology, **D-FILE** ensures secure, transparent, and decentralized file storage and access control.\n\n## Table of Contents\n- [Installation](#installation)\n- [Usage](#usage)\n- [Architecture](#architecture)\n- [Smart Contract Features](#smart-contract-features)\n- [Frontend Features](#frontend-features)\n- [Contributing](#contributing)\n- [License](#license)\n\n---\n\n## Installation\n\nFollow these steps to set up and run the **D-FILE** project on your local machine:\n\n1. **Clone the repository**:\n   ```bash\n   git clone https://github.com/pushpakrai/Decentralized-Blockchain-File-Sharing-Application.git\n   ```\n\n2. **Navigate to the project directory**:\n   ```bash\n   cd Decentralized-Blockchain-File-Sharing-Application\n   ```\n\n3. **Install dependencies for the smart contract**:\n   ```bash\n   npm install\n   ```\n\n4. **Set up the frontend**:\n   - Navigate to the `client` directory:\n     ```bash\n     cd client\n     ```\n   - Install the Node.js dependencies:\n     ```bash\n     npm install\n     ```\n\n---\n\n## Usage\n\n1. **Start a local blockchain network**:\n   ```bash\n   npx hardhat node\n   ```\n\n2. **Deploy the smart contract**:\n   - Compile and deploy the smart contract to the local network:\n     ```bash\n     npx hardhat run --network localhost scripts/deploy.js\n     ```\n\n3. **Launch the frontend application**:\n   - Navigate to the `client` directory:\n     ```bash\n     cd client\n     ```\n   - Start the development server:\n     ```bash\n     npm start\n     ```\n\n4. **Access the application**:\n   Open your browser and navigate to `http://localhost:3000`. Ensure MetaMask is connected to the local blockchain network.\n\n---\n\n## Architecture\n\nThe **D-FILE** platform employs the following technologies:\n\n- **Hardhat**: Facilitates smart contract development, testing, and deployment.\n- **Solidity**: Implements the business logic for file storage, access control, and ownership management on the blockchain.\n- **React.js**: Provides an intuitive user interface for interacting with the decentralized file system.\n- **Pinata**: Used for decentralized file storage, ensuring redundancy and security.\n\n---\n\n## Smart Contract Features\n\nThe Solidity smart contract handles core functionalities, including:\n\n- **File Upload**: Links uploaded files to the blockchain and stores metadata securely.\n- **Access Control**: Grants or revokes permissions for specific users.\n- **Ownership Management**: Transfers file ownership securely between users.\n- **Tamper-Proof Logs**: Maintains immutable records of all file-related transactions.\n\nThe contract code is in the `contracts` directory.\n\n---\n\n## Frontend Features\n\nThe **D-FILE** frontend, built with React.js, offers:\n\n- **User Authentication**: Connect your wallet via MetaMask for secure access.\n- **File Management**:\n  - Upload and view files stored on the blockchain.\n  - Download files directly from decentralized storage.\n  - Delete or modify file permissions.\n- **Access Permissions**: Enable or restrict other users' access to specific files.\n- **Ownership Transfer**: Securely transfer file ownership to designated users.\n\nFrontend source code resides in the `client` directory.\n\n---\n\n## Contributing\n\nWe welcome contributions to enhance the **D-FILE** project! Here's how to get involved:\n\n1. **Fork the repository**.\n2. **Create a feature branch**:\n   ```bash\n   git checkout -b feature-name\n   ```\n3. **Implement changes** and commit:\n   ```bash\n   git commit -m \"Add feature description\"\n   ```\n4. **Push changes** to your forked repository:\n   ```bash\n   git push origin feature-name\n   ```\n5. **Open a pull request**, detailing your enhancements or fixes.\n\n---\n\n## License\n\nThis project is licensed under the MIT License. For more details, refer to the [LICENSE](LICENSE) file.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushpakrai%2Fdecentralized-blockchain-file-sharing-application","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpushpakrai%2Fdecentralized-blockchain-file-sharing-application","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpushpakrai%2Fdecentralized-blockchain-file-sharing-application/lists"}