Docs Universe is a web based Dapp that allows to store important assets on IPFS instance. Ownership of files is securely recorded on the Ethereum blockchain making it the best platform to store assets
Docs Universe is a web-based Dapp that allows to store important assets on IPFS instances. Ownership of files is securely recorded on the Ethereum blockchain making it the best platform to store assets
Here I've implemented three main features 1. Store 2. Ownership 3. Transfer
The store feature is a feature for uploading files to IPFS which is both a create operation on the application and write operation on the blockchain. The ownership feature can check the ownership of the uploaded file while allowing users to be able to retrieve files that have been saved, this is an implementation of reading operations on the application and on the blockchain. The transfer feature allows users to be able to make ownership transfers of files that have been previously stored, this illustrates the implementation of update operation on the application and write operation on the blockchain.
Implementation link: https://github.com/dhiraj0911/Docs-Universe/blob/master/client/src/components/Store.jsx
Implementation link: https://github.com/dhiraj0911/Docs-Universe/blob/master/client/src/components/Ownership.jsx
Implementation link: https://github.com/dhiraj0911/Docs-Universe/blob/master/client/src/components/Transfer.jsx
To build this project I've referred to several tutorials and documentation of Ethereum, filecoin, and ipfs. Like I've faced so many difficulties so it overcomes I also reached out to one of my teacher from our college he also cleared my difficulties and also help full for debugging and also he also helped me to learn how to use Ethereum and filecoin and ipcp and ipfs.
This project is built on the Ethereum blockchain and filecoin network. I've used Ethereum for the main part of the project. I've used ipfs and filecoin for the storage of the data. As I'm building this project on the Ethereum blockchain I've used the solidity language for the smart contract. So for migrating and compiling smart contracts I used the truffle framework. And for building the frontend i used reactjs. After this to make interaction with the frontend I used react-router-dom. And for the interaction with the smart contract, I used web3js. And for the interaction with the ipfs I used ipfs-api. And made in the same state with blockchain for that used react truffle box and react-redux.
IPFS and Filecoin's sponsor technology I've used for this project like it was the backbone of my project because ipfs store data in decentralized way and that's what blockchain wants. So like after storing files or documents on IPFS it gives a unique IPFS hash for each file or docs this is the key point for my project. This specific ipfs hash of a particular file store for particular for a specific account and no other account can access the same file. And this hash is the key for the file and that account has all rights to access that file only. But transferring ownership of the file is also possible by transferring ipfs hash of the file to another account. by this way the file is stored in a decentralized way and with our ease, we can transfer ownership of the file to another account.
From this entire hackathon, and its amazing session I learned a lot about blockchain and how to use it. I've learned how to use Ethereum and filecoin and ipfs and ipfs-api and web3js and reactjs and react-router-dom and react-redux and truffle and solidity and truffle-box and all the other technologies I've used in this project. It is grateful to have this project.