project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Docs Universe

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

Created At

HackFS 2022

Project Description

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.

  1. Store In the Store feature, system flow starts from the Metamask check for account selection. Furthermore, the user can perform store operation by affixing the file to the form on the web interface, the application then converts the file into a buffer, the user confirms the transaction, and proceed with storing the file to IPFS. As output, the user will get information in the form of file hash and transaction hash.

Implementation link: https://github.com/dhiraj0911/Docs-Universe/blob/master/client/src/components/Store.jsx

  1. Ownership Furthermore, the functionality of the Ownership feature is also started by checking the Metamask account. Followed by the choice of whether the user wants to check the ownership of a file or not. If so, the user can add the file that he wants to find out the owner of, but if the user does not want to check the ownership then the user can continue with the file retrieval feature. In the file retrieval feature, users only need to click the “Retrieve” button to retrieve the files they own.

Implementation link: https://github.com/dhiraj0911/Docs-Universe/blob/master/client/src/components/Ownership.jsx

  1. Transfer As in the previous feature flow, the Transfer feature also starts with a Metamask account check. Then users who wish to transfer ownership of their files can provide information on the destination account to be transferred, followed by confirming the transaction. The end result of this feature is the loss of the file entry that has been transferred and the receipt of the transfer transaction hash as proof that the ownership has been transferred.

Implementation link: https://github.com/dhiraj0911/Docs-Universe/blob/master/client/src/components/Transfer.jsx

How it's Made

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.

background image mobile

Join the mailing list

Get the latest news and updates