diff --git a/documents/resources/schema.md b/documents/resources/schema.md index 34ea56f..ae6e65c 100644 --- a/documents/resources/schema.md +++ b/documents/resources/schema.md @@ -3,130 +3,143 @@ ## [Claim](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/claim.proto) Claims have the encompassing schema: - message Claim { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - } - required Version version = 1; - enum ClaimType { - UNKNOWN_CLAIM_TYPE = 0; - streamType = 1; - certificateType = 2; - } - required ClaimType claimType = 2; - optional Stream stream = 3; - optional Certificate certificate = 4; - optional Signature publisherSignature = 5; +```protobuf +message Claim { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; } + required Version version = 1; + enum ClaimType { + UNKNOWN_CLAIM_TYPE = 0; + streamType = 1; + certificateType = 2; + } + required ClaimType claimType = 2; + optional Stream stream = 3; + optional Certificate certificate = 4; + optional Signature publisherSignature = 5; +} +``` ## [Stream](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/stream.proto) Claims of streamType have a `stream`: - message Stream { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - } - required Version version = 1; - required Metadata metadata = 2; - required Source source = 3; +```protobuf +message Stream { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; } + required Version version = 1; + required Metadata metadata = 2; + required Source source = 3; +} +``` ## [Metadata](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/metadata.proto) Streams have `metadata` describing their content: - message Metadata { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - _0_0_2 = 2; - _0_0_3 = 3; - _0_1_0 = 4; - } - enum Language { - UNKNOWN_LANGUAGE = 0; - en = 1; - } - required Version version = 1; - required Language language = 2; - required string title = 3; - required string description = 4; - required string author = 5; - required string license = 6; - required bool nsfw = 7; - - optional Fee fee = 8; - optional string thumbnail = 9; - optional string preview = 10; - optional string licenseUrl = 11; +```protobuf +message Metadata { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; + _0_0_2 = 2; + _0_0_3 = 3; + _0_1_0 = 4; } + enum Language { + UNKNOWN_LANGUAGE = 0; + en = 1; + } + required Version version = 1; + required Language language = 2; + required string title = 3; + required string description = 4; + required string author = 5; + required string license = 6; + required bool nsfw = 7; + + optional Fee fee = 8; + optional string thumbnail = 9; + optional string preview = 10; + optional string licenseUrl = 11; +} +``` ## [Fee](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/fee.proto) Metadata may include a fee to access the decryption key: - message Fee { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - } - enum Currency { - UNKNOWN_CURRENCY = 0; - LBC = 1; - BTC = 2; - USD = 3; - } - required Version version = 1; - required Currency currency = 2; - required bytes address = 3; - required float amount = 4; +```protobuf +message Fee { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; } + enum Currency { + UNKNOWN_CURRENCY = 0; + LBC = 1; + BTC = 2; + USD = 3; + } + required Version version = 1; + required Currency currency = 2; + required bytes address = 3; + required float amount = 4; +} +``` ## [Source](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/source.proto) Streams have a `source` to download: - message Source { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - } - required Version version = 1; - enum SourceTypes { - UNKNOWN_SOURCE_TYPE = 0; - lbry_sd_hash = 1; - } - required SourceTypes sourceType = 2; - required bytes source = 3; - required string contentType = 4; +```protobuf +message Source { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; } - + required Version version = 1; + enum SourceTypes { + UNKNOWN_SOURCE_TYPE = 0; + lbry_sd_hash = 1; + } + required SourceTypes sourceType = 2; + required bytes source = 3; + required string contentType = 4; +} +``` ## [Certificate](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/certificate.proto) Claims of certificateType have a `certificate`: - message Certificate { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - } - required Version version = 1; - required KeyType keyType = 2; - required bytes publicKey = 4; +```protobuf +message Certificate { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; } + required Version version = 1; + required KeyType keyType = 2; + required bytes publicKey = 4; +} +``` ## [Signature](https://github.com/lbryio/lbryschema/blob/master/lbryschema/proto/signature.proto) Claims may be signed using the private key to a Certificate public key: - message Signature { - enum Version { - UNKNOWN_VERSION = 0; - _0_0_1 = 1; - } - required Version version = 1; - required KeyType signatureType = 2; - required bytes signature = 3; - required bytes certificateId = 4; +```protobuf +message Signature { + enum Version { + UNKNOWN_VERSION = 0; + _0_0_1 = 1; } + required Version version = 1; + required KeyType signatureType = 2; + required bytes signature = 3; + required bytes certificateId = 4; +} +```