What it does

  • Storing any media on the blockchain is so costly, hence DTube solves this problem by storing IPFS video hashes to the blockchain.
  • On DTube Nobody can take down your video or ban your account.
  • It's free to use.
  • It's truly decentralized.
  • It's green as compared to the energy consumption of centralized servers.
  • It's ad-free! Now you can watch videos without those annoying ads, this platform treats you as a "user" not the "product".

How we built it

Tech Stack:

  • Languages: Solidity, JavaScript, HTML5, CSS3
  • Libraries: React.js, Web3.js
  • Tools: IPFS
  • Network: Polygon (Matic)
  • Platforms: Ethereum, Fleek

Networks:

  • Matic Mumbai Test Network
  • Rinkeby Test Network
  • Ropsten Test Network
  • Goerli Test Network

Challenges we ran into

  • "To make the whole platform decentralized" It was challenging to deploy the whole DTube app to the IPFS. After a lot of experimentation with IPFS, I found that I cannot update/modify the project with the same IPFS hash. After searching online, I landed on "Fleek" IPFS hosting and Filecoin storage platform where you can deploy the project, assign the domain, and update the project by simply connecting the GitHub repository.

  • Solidity version issues: Every version had syntax differences. Everything worked fine on version 0.5.0.

  • Matic TestNet error:

Error: Deployment Failed "Migrations" -- only replay-protected (EIP-155) transactions allowed over RPC.

Fix: Fixed this problem by upgrading @truffle/hdwallet-provider version to 1.4.0.

What we learned

It was a great learning journey, I learned so much about blockchain.

What's next for DTube

  • Updating the smart contracts with more features such as adding descriptions & links to the videos.
  • Improving speed and overall performance with large video files.
  • Improving overall UI.

This project was created during the months Jul-Aug (as per browsers 3000 schedules), I submitted this project in ETHOdyssey Hackathon as well. Both Hackathon schedules were the same.

Built With

Share this project:

Updates