Alchemy: Decentralized Youtube

Learn how to create your own personal Decentralized Youtube using IPFS and the Filebase IPFS gateway.

What is Decentralized Youtube?

Decentralized Youtube is a GitHub project created by the user suhailkakar. Decentralized Youtube is a video hosting and streaming service, just like Youtube, but powered by decentralized storage.

This tutorial uses the GitHub project created by suhailkakar, but edited to use the Filebase IPFS gateway for serving the content.

Read below to learn how to set up your own personal Decentralized Youtube.


1. Start by logging into the Alchemy dashboard. From the dashboard, select ‘Create App’.

2. Create a new app on the Polygon Mumbai network.

3. Once the app is created, view the app’s API key.

Take note of the HTTP URL, we’ll reference this later.

4. Next, open your Crypto wallet and select the Polygon Testnet network.

This guide uses MetaMask.

5. Get your Crypto Wallet’s Private Key by viewing your account details:

6. Take note of your Private Key, we will use this later.

7. Next, git clone the Decentralized Youtube project repository.

This project was originally created by @suhailkakar on GitHub. We’ve made modifications to it to use IPFS through Filebase for the storage backend.

git clone

8. Edit the hardhat.config.js file to replace the following values:



9. Then, compile the project:

npx hardhat compile

10. Next, deploy the smart contract onto the Mumbai network:

npx hardhat run scripts/deploy.js --network mumbai

11. Take note of the contract address that gets returned by the deploy script:

12. Edit the ./src/utils/getContract.js file.

Replace the YOUR_CONTRACT_ADDRESS value with the contract address you took note of in the previous step.

13. Run the app:

npm start

14. Your Decentralized Youtube will be open at localhost:3000 by default.

15. Select ‘Connect your wallet to continue’, then select your desired Crypto Wallet address.

16. Once connected, you will see the Decentralized Youtube dashboard:

17. Select the plus sign icon to open the page for initiating a video upload.

18. Fill out the information about your video such as title, description, location, and category.

Then upload a thumbnail image for the video.

19. Then select ‘Upload Video’ to select a video to be uploaded.

Once selected, choose the blue upload button to begin the upload process.

20. You will be asked to confirm the transaction through your crypto wallet.

21. On the home screen, your video will be uploaded, showing the chosen thumbnail.

22. Click on the thumbnail to play the video.

You now have your own decentralized version of Youtube!

If you have any questions, please join our Discord server, or send us an email at

Last updated