Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Khushi-51/Vault3

Repository files navigation

Vault3

Welcome to Decentralized Image Upload and Sharing, a project designed to enable secure and decentralized 
image storage using blockchain technology. With this platform, users can upload images and files to IPFS 
(InterPlanetary File System) and manage access through Ethereum smart contracts.

## 🚀 Features

✅ Decentralized Storage: Images are stored on IPFS, ensuring immutability and reliability.  
✅ Smart Contract Integration: Solidity-based contracts manage ownership and access.  
✅ Access Control: Users can grant/revoke access to specific individuals via smart contracts.

## 🛠 Technology Stack

- **Solidity** → Smart contract development for ownership & access control.  
- **React** → User-friendly front-end for uploading and managing images.  
- **IPFS** → Decentralized storage protocol for secure image hosting.  

## 📥 Installation Guide

1️⃣ **Clone the repository:**

```sh
git clone <repository-url>

2️⃣ Install dependencies for Hardhat:

# Navigate to the root directory
cd vault3
# Install required packages
npm install

3️⃣ Compile the smart contract:

npx hardhat compile

4️⃣ Deploy the smart contract:

npx hardhat run scripts/deploy.js --network <network-name>

5️⃣ Install dependencies for the React frontend:

cd client
npm install

6️⃣ Start the React application:

npm start

⚙ Configuration

🔑 API Keys

Obtain Pinata API keys to interact with IPFS.

Update FileUpload.js with your API keys.

🦊 Metamask Setup

Ensure Metamask is installed and configured in your browser.

🏗 Contract Address

After deployment, update the contract address in App.js inside the React app.

📌 Usage Guide

  • Upload Image Before "Get Data" → Ensure an image is uploaded on Pinata before clicking "Get Data", or an error will occur.
  • Accessing Other Users' Images → Enter the user’s wallet address in the designated box. You’ll only gain access if they’ve granted permission via the smart contract.
  • Managing Access → Users can revoke access at any time using the smart contract controls.

🛠 Troubleshooting

❌ "You don't have access" Error?

Make sure:

  • The image is uploaded before fetching data.
  • The contract address is correctly set.
  • You have the necessary access permissions.

📬 Contact

For any queries or suggestions, feel free to reach out:

🚀 Enjoy Decentralized Image Sharing! 🚀

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •