Skip to content
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

Initial Cookbook structure #423

Open
6r1d opened this issue Oct 27, 2023 · 7 comments · May be fixed by #424
Open

Initial Cookbook structure #423

6r1d opened this issue Oct 27, 2023 · 7 comments · May be fixed by #424
Labels
A-important High-impact, important change M-epic Issues/PRs that depend on other items (e.g. tracking issues)
Milestone

Comments

@6r1d
Copy link
Contributor

6r1d commented Oct 27, 2023

We just had a meeting with @0x009922, @mversic, @AlexStroke and @dmitrivenger.

We need a new API documentation structure to make all examples between different API versions available.
This is a structure we've established:

  • Transactions
    • Using different ISIs
    • MST
    • Smartcontracts
    • Expressions?
  • Query
    • Show default usage
    • Show filters (not a priority, as DSL can be implemented, a few examples would be useful - @mversic)
    • Show how lazy pagination should be used
    • Query connected peers
  • Block stream
    • Show how to subscribe
    • Show how does the output look
  • Events
    • Different filters, different events
  • Telemetry
    • How to do something useful with telemetry, e.g. check load or performance
    • How to check status
    • How to get metrics
    • Healthcheck - route, data structure
  • Triggers
    • Show multiple examples of different triggers with different actions
  • Executor
    • Write and update one
  • Philosophy of how to work with different aspects of Iroha
    • Checking what peer among the current is the leader??
    • Checking current peer's load?
@6r1d 6r1d changed the title New API documentation structure Initial Cookbook structure Oct 27, 2023
@0x009922
Copy link
Contributor

I revised the list again and come to a more user-goals centric structure:

  • Assets (Numeric, Store, Mintable, Non-mintable, Register, Mint, Burn, Transfer)
    • Numeric Assets
    • Store Assets
    • Transferring
    • Minting More of a Mintable Asset
    • Non-Mintable Assets (not ones in Genesis)
    • Creating Asset-backed Tokens (i.e. gold)
    • Creating Non-Fungible Tokens (NFTs)
  • Access Control (permission tokens, roles (permission groups), permission validator?)
  • Metadata
  • Events and Filters (subscription, filtering)
  • Triggers (+ smartcontracts)
  • Executor (smartcontract)
  • Telemetry (metrics, health, status)
  • misc
    • Transactions with Smartcontracts
    • Multi-Signature Transactions
    • Expressions

This all should be refined for sure. I will start with this. Hopefully, when we start building the actual code snippets, we will get more understanding of how to structure them better for educational and practical purposes.

@0x009922 0x009922 linked a pull request Oct 30, 2023 that will close this issue
@Mingela
Copy link

Mingela commented Oct 30, 2023

@0x009922 this looks great, just a few questions:

  • how about domains, its relation to other entities?
  • isn't permission validator and executor kinda the same concept?
  • by a smartcontract you mean WASM, right?

@0x009922
Copy link
Contributor

@Mingela,

  1. We should probably include both Domains and Accounts as well. I just don't know in what form. Do you have any introductory, educational, and expressive examples on mind?
  2. I think so, wasn't 100% sure
  3. Yes, smartcontract = WASM executable in terms of Iroha 2

@Mingela
Copy link

Mingela commented Oct 31, 2023

@0x009922 domains generally are intended to represent countries, organizations, departments, branches and so on. Some sort of access management (or permissions) based on the domain might be sufficient.

@6r1d
Copy link
Contributor Author

6r1d commented Nov 10, 2023

I've added a separate issue on a store asset as the current information is lacking and it's very useful

@dmitrivenger
Copy link

@6r1d , @yamkovoy
Looking at @0x009922 revised structure, where do we place Domains and Accounts?

@outoftardis
Copy link
Contributor

you can see and review the revised structure in #424

@nxsaken nxsaken added the M-epic Issues/PRs that depend on other items (e.g. tracking issues) label May 20, 2024
@nxsaken nxsaken added this to the 2.0.0-rc.1.0 milestone May 24, 2024
@nxsaken nxsaken added the A-important High-impact, important change label May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-important High-impact, important change M-epic Issues/PRs that depend on other items (e.g. tracking issues)
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants