Digishare: Decentralized Digital Asset Management
Introduction 🚀
Digishare is a revolutionary decentralized platform designed to facilitate the secure and transparent management, sharing, and storage of digital assets. Using blockchain technology, Digishare empowers users to maintain control over their digital files, including images, videos, documents, and music, ensuring full ownership and privacy.
Key Features 🌟
- Decentralized Asset Storage: Utilizes IPFS for storing all data and integrates with the Filecoin Virtual Machine (FVM) to leverage decentralized storage solutions, enhancing security and data permanence.
- Secure Sharing Mechanism: Ensures that digital assets are shared with robust encryption and blockchain-based permissions.
- Monobean Integration: Batches transactions efficiently, reducing costs and improving transaction speed on the blockchain.
- Flexible Membership Plans: Various plans are available to accommodate different user needs and storage requirements.
- Tokenized Transactions: Facilitates secure and transparent transactions using smart contracts for access and rights management.
- Chainlink VRF: Generates random IDs for files, ensuring uniqueness and security.
- Deployed on zkEVM Cardona Testnet: Ensuring compatibility and robust testing on advanced blockchain networks.
Technologies Used 🔧
- IPFS & Filecoin Virtual Machine (FVM): For resilient, decentralized storage that safeguards against data loss and censorship.
- Solidity & Ethereum: Provides a strong foundation for smart contracts and decentralized applications.
- Monobean: Optimizes blockchain transactions by batching, enhancing throughput and efficiency.
- React & Next.js: Powers an intuitive and responsive user interface, ensuring a seamless user experience across devices.
- Chainlink VRF: Utilized for generating secure and random file IDs.
Getting Started 📋
To set up Digishare locally, follow these installation steps:
Prerequisites
- Node.js
- An Ethereum wallet with Ether for transaction fees
Installation
- Clone the repository
sh git clone https://github.com/digishareapp/digishareapp - Install dependencies
sh npm install - Compile the contracts
sh npx hardhat compile - Deploy the contracts
sh npx hardhat run scripts/deploy.js --network zkEVMCardonaTestnet - Start the development server
sh npm run start
Hardhat Configuration
Update the hardhat.config.js to deploy to the zkEVM Cardona Testnet:
require("@nomiclabs/hardhat-waffle");
const { ethers } = require("ethers");
const privateKey = wallet.privateKey;
module.exports = {
defaultNetwork: "hardhat",
networks: {
zkEVMCardonaTestnet: {
url: "https://polygon-zkevm-cardona.blockpi.network/v1/rpc/public",
accounts: [privateKey],
},
},
solidity: "0.8.24",
allowUnlimitedContractSize: true,
throwOnTransactionFailures: true,
throwOnCallFailures: true,
};
Usage Examples
- Uploading and Sharing Files: Easily upload your files to IPFS via Digishare, set permissions, and share securely.
- Accessing Files: Users can access their files from anywhere, at any time, without compromising on security.
Roadmap 🗺️
- Multi-chain Support: To increase platform resilience and access.
- Advanced Security Protocols: Continuous upgrades to security measures to protect user data.
- Expansion to Mobile Platforms: Bringing Digishare's functionality to mobile devices.
Contributing 🤝
Contributions are welcome! For major changes, please open an issue first to discuss what you would like to change.
License 📄
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments 🎉
- Appreciation to the IPFS and Filecoin communities for their groundbreaking work in decentralized storage.
- Thanks to all contributors and users who are integral to Digishare's continuous improvement.
Explorer URL 🔗
- Explorer Link - View our deployment and transactions on the zkEVM Cardona Testnet.
Built With
- chainlink
- ethers
- polygon
- rust
- solidity
- tailwindcss
- thirdweb
- typescript
- wagmi
- web3
Log in or sign up for Devpost to join the conversation.