turbo-eth / template-web3-app

⚡️ Web3 App Template built using Next.js, RainbowKit, SIWE, Disco, and more!
https://www.turboeth.xyz
MIT License
334 stars 89 forks source link

Bounty: Livepeer + Lit Protocol (Video Gating using ERC20/ERC721 Tokens) - 175 OP Reward #54

Open kamescg opened 1 year ago

kamescg commented 1 year ago

👨‍💻 User Story

As a content creator I want the ability to easily stream video to a private audience.

More specifically I want to utilize the Lit Protocol access control conditions and Livepeer to gate video content using ERC20 and ERC721 tokens as the conditions for access controls.

📜 Disclaimer

To be eligible for the payout you must first get approval to work on the bounty.

It's recommended to share a link to your personal Github account.

🧱 Project

Add token gating access controls to the Livepeer integration.

Dependent on issue #49 - Bounty: Livepeer Integration - 250 OP Reward being complete.

Use the Lit Protocol to gate video services from the Livepeer protocol.

Lit Protocol Access Controls Documentation & Examples

Lit Protocol should be used to generate a JWT(JSON web token).

https://developer.litprotocol.com/toolsandexamples/sdkexamples/dynamiccontent/#accessing-a-resource-via-a-jwt

A JWT can be generated via the getSignedToken function of the LitNodeClient.

TurboETH already includes a base Lit Protocol integration. Components are available for generating the ERC20 and ERC721 token gating access controls logic.

Livepeer Documentation

Developer Tasks:

Gating Routes/API The gating logic should be containe in the route files and exported in the api file.

An example if this can be found in the Disco integration.

Potential File Structure

Integration

The API logic should be added to the integrations/livepeer/routes folder.

integrations/livepeer
├─ routes/
│  ├─ route-gating-stream-via-lit.ts
│  ├─ route-gating-vod-via-lit.ts
Application

The API should be added to the app/livepeer folder.

pages/api/livepeer
├─ gating-stream-via-lit.ts
├─ gating-vod-via-lit.ts

💰 Bounty Reward

The bounty reward is 175 OP tokens and TurboETH DevPass digital collectible.

TurboETH is the recipient of 18,271.88 OP Tokens from Optimism Retroactive Public Goods Funding. The OP tokens earned from the PGF program are the primary funding source for TurboETH bounties.

Notice

The final integration may not resemble the proposed integration - that's O.K - a natural part of software development.

During development you might discover an original hypothesis doesn't make sense. No problem. Make a comment and clearly explain why a new approach is better than old one. Get rewarded for thinking out of the box.

The final bounty reward can be increased to match new bounty tasks.

Resources

hthillman commented 1 year ago

Helpful resource for implementoooors! https://docs.livepeer.org/tutorials/developing/token-gate-videos-using-lit

Temidayo32 commented 7 months ago

Hi @kamescg I am interested