Web 3.0 YouTube App ?
Built with Next Js, Hardhat, Solidity, IPFS, The Graph Protocol and Tailwind CSS.
Functionalities
- Upload Video
- play video
- Search Videos
- Upload Short
- Search by Category – soon
- comments – soon
Stack
- Frontend : Next Js
- Smart Contract Lang : Solidity
- Indexing : The Graph
- Dev Environment for ETH Software: Hardhat
- Testing: Chai
- File Storage : IPFS
- Network : Polygon
- Style : Tailwind CSS
- State management : GraphQL Apollo Client
- Icons : React Icons
Installation
Fork The Repo
Click on the Right Side of the Top Bar to After the Watch button.
Now It will be available in GitHub Account.
OR
Clone
- Clone this repo with url
git clone https://github.com/Aakrut/web3-youtube
Setup
Install npm dependencies using npm install
cd web3-youtube && npm install
Set up environment Variables I already Provided .env.example file.
Create a .env file in the root directory.
Set up required environment variables.
URL="POLYGON_TESTNET_URI"
PRIVATE_KEY="METAMASK_PRIVATE_KEY"
NEXT_PUBLIC_CONTRACT_ADDRESS="CONTRACT_ADDRESS"
NEXT_PUBLIC_PROJECT_ID="PROJECT_ID"
NEXT_PUBLIC_PROJECT_SECRET="PROJECT_SECRET"
NEXT_PUBLIC_GRAPHQL_URL="GRAPHQL_URL"
In the Root Directory First Compile Your Smart Contract with This Following Command.
npx hardhat compile
After Deploy Smart Contract to the Polygon Mumbai Testnet with this command.
npx hardhat run scripts/deploy.js --network mumbai
Copy Smart Contract Address and replace it in with your “CONTRACT_ADDRESS”
NEXT_PUBLIC_CONTRACT_ADDRESS="CONTRACT_ADDRESS"