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

Livepeer transcoders need human identifiable user names! ENS to the rescue? #10

Open
dob opened this Issue Aug 11, 2018 · 8 comments

Comments

Projects
None yet
4 participants
@dob

dob commented Aug 11, 2018

Livepeer is a decentralized live video streaming platform built on Ethereum. It has been live on Ethereum's main net for 100 days, which is 100 days too long without ENS integration!

Project goal

Give transcoders human identifiable user names using ENS.

Livepeer token holders have to elect "transcoders" to play the critical role of encoding video on Livepeer's network. They do so using the transcoder election dashboard. Notice that each of the 20 visible candidates is only identifiable via an Ethereum address.

screen shot 2018-08-10 at 9 24 29 pm

Transcoders also post social campaigns in the forum. Notice that each campaign needs to list the Ethereum address for their node.

It would be great if instead of showing Ethereum addresses on the dashboard it could show transcoder user names such as "BerlinCommunityNode" or "Chainflow". Additionally, it would be great if the dashboard could link directly to their forum campaign URL.

Technical implementation

The transcoder election dashboard is a full fledged DApp. Which means that to build this feature we need to use ENS and that data needs to come from on chain or from a decentralized data store like IPFS. It also means that you can easily build and run a local copy of the DApp, that talks to Infura by default and interacts with Metamask, that works without setting up any services. Node + React.

Just follow the simple instructions in LivepeerJS to build the project, and the packages/explorer subdirectory to run the explorer locally.

There's a great contributing README with extra details, but I promise it is only a few commands to get this DApp running locally, and editable. For addition help, please jump into the Livepeer Discord.

All data in the explorer is read through GraphQL queries from data pulled from the blockchain via the SDK package. The good news is that ENS is already integrated into the SDK. I believe @yondonfu worked on this particular implementation and may be able to field a question or two if you tag him in the questions here.

Additional support?

I own the transcoder.eth ENS name, and I will be happy to point it at a subdomain resolver that lets any transcoder register (for free?) their subdomain of choice. And then I believe the explorer DApp would have to do reverse resolution on an address to look up their registered subdomain for display to the end user.

I am not sure how to link to the transcoder's forum campaign. If you write a custom resolver, then I assume a transcoder could just register their campaign URL along with their subdomain name?

Additionally, I'm happy to offer a 500 Livepeer Token bounty to a team that can get to the point of submitting a pull request that adds ENS support into the transcoder election dashboard in a maintainable way that fits within the SDK -> GraphQL -> Explorer flow established by the LivepeerJS repo. But beyond the bounty, know that if you help contribute to this, you'll be making life way easier for the thousands of participants in the Livepeer network who struggle today choosing which transcoder to stake towards due to not being able to easily identify who is who, and therefore keep track of how they've been performing on the network.

@JosefJ

This comment has been minimized.

JosefJ commented Aug 11, 2018

I'll look into this. Anyone wants to collaborate?

@makoto

This comment has been minimized.

Collaborator

makoto commented Aug 11, 2018

@JosefJ did you find your team mate?

@makoto makoto added the need members label Aug 11, 2018

@JosefJ

This comment has been minimized.

JosefJ commented Aug 11, 2018

@hgedia

This comment has been minimized.

hgedia commented Aug 11, 2018

Currently it appears the above issue is solved and there is a reverse ENS implemented in the dashboard for transcoders.

Moving the focus to implement an option for ENS registration from livepeer_cli which can be used by any one running a transcoder.

@makoto makoto removed the need members label Aug 11, 2018

@dob

This comment has been minimized.

dob commented Aug 11, 2018

I think some of the challenges are still

How to associate the forum campaigns with the addresses and ens names?

How to easily allow registration? (Through the cli as you suggested is a great idea).

Can registration be instant and sub domain based rather than requiring the multi day .eth domain registration process?

@hgedia

This comment has been minimized.

hgedia commented Aug 11, 2018

@dob , that is the plan. In the design we are working on, the node operator can select an option in the cli to register an ENS subdomain . This calls a smart contract (by @JosefJ ) which would register an ens subdomain for the transcoder account.

@hgedia

This comment has been minimized.

hgedia commented Aug 12, 2018

@makoto Please find the source repos here:

Livepeer : https://github.com/hgedia/go-livepeer
ENS Smart contract : https://github.com/JosefJ/ens

@makoto

This comment has been minimized.

Collaborator

makoto commented Aug 12, 2018

This is the diff between the master and the fork ensdomains/ens@master...JosefJ:master

@makoto makoto added ready winners and removed ready winners labels Aug 12, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment