Welcome to our Decentralized File Storage App! This application leverages the power of blockchain technology, specifically the NEAR blockchain, to provide a secure and decentralized platform for storing, downloading, uploading, and sharing files. Users can seamlessly interact with the app using their NEAR Wallet.
Check out the live site here.
- Login: Access the app securely by logging in with your NEAR Wallet.
- Decentralized Identity: Leverage NEAR Wallet for secure and decentralized user identity.
- Upload: Easily upload files of your choice to the decentralized storage.
- Download: Download files from the decentralized storage to your local device.
- Share: Share files with others by providing secure access links.
- Transaction Fees: A certain fee is deducted from the user's NEAR Wallet on every download, upload, or sharing of files. This ensures sustainability and supports the decentralized infrastructure.
- Clone the repository:
git clone https://github.com/your-username/decentralized-file-storage.git
- Navigate to the project directory:
cd decentralized-file-storage
- Install the dependencies:
npm install
- Download IPFS desktop application
- Edit IPFS config file add localhost url in
Access-Control-Allow-Origin
- Start the development server:
npm run dev
- Open your web browser and visit
http://localhost:3000
(or the specified port)
Ensure that you have the required NEAR Wallet for seamless authentication.
- Next.js: Next.js is used as the framework for building the frontend of the application. It provides server-side rendering and a great developer experience.
- React: Library for building user interfaces.
- TypeScript: TypeScript is used to add static typing to the application, making it more robust and maintainable.
- Tailwind CSS: A utility-first CSS framework for designing responsive and modern user interfaces.
- Mintbase: Let users integrate with the NEAR blockchain
- IPFS: InterPlanetary File System for decentralized file storage.
- NEAR API: NEAR blockchain API for smart contract interaction.
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.
- Commit your changes.
- Push your branch to your forked repository.
- Submit a pull request.
This project is licensed under the MIT License.