Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bunnykek/ethereum-ipfs-filehosting
Secure way to host and share your files with smart contracts and decentralized IPFS storage.
https://github.com/bunnykek/ethereum-ipfs-filehosting
blockchain file-sharing ipfs smart-contracts sveltekit
Last synced: 7 days ago
JSON representation
Secure way to host and share your files with smart contracts and decentralized IPFS storage.
- Host: GitHub
- URL: https://github.com/bunnykek/ethereum-ipfs-filehosting
- Owner: bunnykek
- Created: 2024-04-18T19:50:42.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-04-19T07:38:27.000Z (7 months ago)
- Last Synced: 2024-10-29T14:19:00.341Z (15 days ago)
- Topics: blockchain, file-sharing, ipfs, smart-contracts, sveltekit
- Language: Svelte
- Homepage:
- Size: 147 KB
- Stars: 5
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ethereum-IPFS-FileHosting
File hosting service powered by Ethereum smart contracts and decentralized IPFS storage.### Features
- Blockchained and decentralized.
- Automated via smart contracts.
- File sharing with friends.
- Files are AES-256 encrypted in client-side and then uploaded to the IPFS.## Instructions
- `git clone https://github.com/bunnykek/Ethereum-IPFS-FileHosting`
- Install Node.js and git.#### Hardhat-Metamask setup
- Install Metamask browser [extension](https://metamask.io/download/). Note the wallet `mnemonic` key when you setup.
```
cd Ethereum-IPFS-FileHosting/hardhat
npm i
```
- [Connecting metamask and hardhat](https://docs.metamask.io/wallet/how-to/run-devnet/)#### IPFS-Pinata setup
- Register to [Pinata](https://www.pinata.cloud/) and grab the API tokens.
- Rename `.ENVR` to `.env` and fill the respective Pinata tokens.#### Front-end setup
```
cd Ethereum-IPFS-FileHosting
npm i
```#### Starting a local etherium node
```
cd Ethereum-IPFS-FileHosting/hardhat
npx hardhat node
// let this terminal running in background.
```#### Deploying the smart contract.
```
cd Ethereum-IPFS-FileHosting/hardhat
npx hardhat run scripts/deploy.js --network localhost
```
Note the deployed contract address and set it inside `.env` file.#### Starting the frontend
```
cd Ethereum-IPFS-FileHosting
npm run dev
```#### Flow-chart
![BlockChainFlow-Page-1 (1) (1)](https://github.com/bunnykek/Ethereum-IPFS-FileHosting/assets/67633271/fb30a15b-4d20-4e3c-a24b-36209cb9e423)#### Screenshots
![collage (4)](https://github.com/bunnykek/Ethereum-IPFS-FileHosting/assets/67633271/47d48100-c126-4344-974f-dc19bf426061)#### Don't forget to drop a star if this project is useful to you.