Skip to content

Expand documentation on Metadata #451

@6r1d

Description

@6r1d

Following #450, I believe we should also refresh documentation on metadata. I will list the details I believe are worth documenting.

  • Metadata entity access aspects: who sees the keys and values, who could limit the visibility of data? According to @Mingela, this is defined by the executor and one should have a look at a list of the default permissions here hyperledger/iroha@7523a69/smart_contract/executor/src/default/tokens.rs#L66
  • Make sure there are iroha_client_cli examples of working with Metadata
  • Make sure there is a Rust-based example for working with Metadata: adding keys with values of different types, reading them, removing them, transferring them between different entities
  • Make sure there's a WASM example for working with Metadata. Demonstrate the transfer of metadata as pointed out by @takemiyamakoto in the community chat: "The object's metadata can be transferred one by one, or in bulk via a WASM transaction."
  • Explain an "object"'s Metadata fields can't be accessed directly, given the question from Matias about the Store asset: "Should I use an object's metadata, but not the Store type directly if I need to store key/value type data?". He asked it after reading "There is also the Store asset type, which is used for storing key-values in object's metadata." in asset documentation and got confused.

This list may not cover some important aspects of Metadata behaviour. Please feel free to comment so it is expanded and our documentation provides enough material to work with it.

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-importantHigh-impact, important changeI-conceptsCore Iroha concepts (data model, operations, mechanics)M-epicIssues/PRs that depend on other items (e.g. tracking issues)

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions