@joystream/metadata-protobuf
v2.16.0
Published
Joystream Metadata Protobuf Library
Downloads
353
Readme
Joystream Metadata Library
This package contains protobuf message definitions compiled to Javascript/Typescript used for creating and updating various metadata blobs in Joystream.
Message Specs
Documented in doc folder
Choice of protobuf protocol v2
For our usecase we wish to re-use same message to create and update subset of fields. For this reason we need the explicit information about wether a field has been set or not and this is only possible with proto v2.
Background: required/optional feilds are deprecated in proto v3
Helper methods
The custom Joystream types such as License have helper methods to construct pre-defined well known values.
Example code:
Best place to look at are the tests specs
Opaque types
We use simple ISO_639-1 code representation for Language. useful npm package https://www.npmjs.com/package/iso-639-1
Building the package
Building will compile the protofiles using protobufjs and build the library from source.
- pre-requisists for generating documentation:
- protoc
- golang
- protoc-gen-doc to generate docs
yarn && yarn build
Generating docs
yarn generate-docs
Tests
yarn test