lbryio / types

Cross-language definitions for standard LBRY types
8 stars 9 forks source link

[WIP] proto3 proposal #17

Closed lyoshenka closed 5 years ago

lyoshenka commented 5 years ago

My proposed schema changes. this is very much WIP. I just wanted to see what it might look like and get your opinions on it.

Goals:

Keep in mind that in proto3, every field is optional. Also keep in mind that I'm trying to match this stuff to https://spec.lbry.io/#specification (e.g. Stream.hash vs Stream.sd_hash)

When you look at the field numbers, anything numbered 1-15 means we think that field will be set in most claims. Numbers 16+ means we think that field will not be set in most claims. There's no functional difference other than a small space savings if we predict it correctly.

I think the biggest questions are about the structure of the stream.proto file.

Closes #3, closes #16, closes #8, closes #13, closes #6, closes lbryio/internal-issues#205.

kauffj commented 5 years ago

Is there anything else I should do to test or run this? We also have a semi-long list of fields to add. Would it make sense to add those before merging in case some should go in the top 15?

lyoshenka commented 5 years ago

putting this here so i don't forget: https://github.com/lbryio/types/issues/8

lyoshenka commented 5 years ago

related: https://github.com/lbryio/types/issues/15

lyoshenka commented 5 years ago

@kauffj yes, link any fields that need to be added here. i found a few PRs but not sure i got em all

shyba commented 5 years ago

great, maybe make a backup of the current one like /proto_legacy/? The current proto2 one is still needed for decoding claims.

lyoshenka commented 5 years ago

Questions re: channel metadata

lyoshenka commented 5 years ago

Question for reviewers:

neb-b commented 5 years ago

What about a website/contact field? Most sites have something for you to add your email address or link to a website. I'm not sure if both would be valuable, or if you could just merge it into one field.

kauffj commented 5 years ago

:+1: on adding both a website and an email field to channels @lyoshenka

eukreign commented 5 years ago

Question Responses:

  1. I think name is the display name. Slightly less ambigious (not sure by how much) might be to use title insead of name, but I think name is fine too.
  2. cover and thumbnail should be claim IDs

Feedback:

New Questions:

tzarebczan commented 5 years ago

I don't think I should have to download thumbnails/covers over DHT, unless the long term plan is to allow that for claim thumnails as well (https://github.com/lbryio/lbry/issues/1842)

neb-b commented 5 years ago

I agree. I do not think thumbnail/cover should be a claim id.

I can see a case where it is a url or a claim id (or something else), but since thumbnail is already a url for a claim, this should follow the same behavior.

kauffj commented 5 years ago

@seanyesmunt note that as long as we encourage usage of spee.ch for images, we are encouraging thumbnail/cover to be a claim id just with extra steps ;)

kauffj commented 5 years ago

Another feature that just struck me as missing is creator identity verification (where verification equals proving I own a certain Twitter account, YouTube account, domain name, or ??). You would prove you own relevant property by issuing a tweet, publishing a video, adding a DNS entry / uploading a file, etc.

This is more complicated than basically everything else we're proposing to add, so I don't want to block on this, but if we can come up with a generic format or nail down a few of them specifically, it'd be good to include.

kauffj commented 5 years ago

@lyoshenka is anything blocking this?

lyoshenka commented 5 years ago

i'm dropping the ability to list payments in BTC. we're just keeping usd and lbc.