Inspiration

i have been using google drive, dropbox, and One drive and I thought of developing a decentralized version of google drive with some additional features. This was what gave birth to Kezayya.

What it does

Kezayya is a web3 project with the aim of helping users store files and share them in a user-friendly manner. Decentralized file storage and sharing system. This project intends to build a web3 version of google drive or dropbox for file storage and sharing.

How we built it

It uses the open zeppelin ERC721 standard to store file metadata URI in an EVM-based smart contract. The smart contract is deployed on BTTC. BTTC was the best choice for deployment to reduce the cost of transactions and interaction with the blockchain and make cross-chain interaction between TRON, Binance, and Ethereum possible.

Challenges we ran into

I ran into challenges with directory upload when trying to upload multiple files to IPFS. I went through the directory file upload on NFT.storage and it helped me a great deal. The smart contract development was another challenge because I encountered a series of bugs while testing but thanks to the resources that were available, I was able to debug the smart contract and make it run as expected.

Accomplishments that we're proud of

I am proud that I have designed and developed a file storage and sharing system that will evolve to rival google drive, dropbox, and one drive. Each file in a user's dashboard has a shareable link that a user can copy and share on social media or through email.

What we learned

l learned how to use IPFS with multiple file uploads using NFT.Storage. I was also amazed at Fluence and what its technology can offer. I used fluence to see how users can share files using Fluence PSP browser-to-browser communication. This was my first experience on TRON, BTTC and it was awesome to work with these techs.

What's next for Kezayya

Files stored on decentralized storage is not private. anyone with such URL can have access to the file, going forward, we shall be adding an encryption feature to files uploaded from kezayya. Make files private or public. Use domain name for files stored on Kezayya. Lauch to Mainnet

Built With

  • bttc
  • ethers.js
  • fluence
  • ipfs
  • javascript
  • metamask
  • next.js
  • nft.storage
  • postcss
  • solidity
  • tailwindcss
  • tron
Share this project:

Updates