Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
4 tasks
kamescg opened this issue Apr 26, 2023 · 2 comments
Labels

Comments

@kamescg
Copy link
Member

kamescg commented Apr 26, 2023

πŸ‘¨β€πŸ’» 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:

  • Create Route - /integrations/livepeer/route-gating-stream-via-lit
  • Create Route - /integrations/livepeer/route-gating-vod-via-disco
  • Create API - /app/api/livepeer/gating-stream-via-lit
  • Create API - /app/api/livepeer/gating-vod-via-lit

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.

  • Route - contains the logic
  • API - exposes the logic

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

@kamescg kamescg added the bounty label Apr 27, 2023
@hthillman
Copy link

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

@Temidayo32
Copy link

Hi @kamescg I am interested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
No open projects
Status: Todo
Development

No branches or pull requests

3 participants