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

Prepare MPT introduction for the community #941

Closed
lock9 opened this issue Jul 20, 2019 · 3 comments
Closed

Prepare MPT introduction for the community #941

lock9 opened this issue Jul 20, 2019 · 3 comments
Labels
Cosmetic Type - Changes that improve user experience without affecting current functionality. Discussion Initial issue state - proposed but not yet accepted Ledger Module - The ledger is our 'database', this is used to tag changes about how we store information

Comments

@lock9
Copy link
Contributor

lock9 commented Jul 20, 2019

From @igormcoelho in #694:

@rodoufu we need to prepare a tutorial on MPT for the whole community understand our proposal. We also need to make sure that issue with "other implementations" is effectively resolved.

Can I suggest using UML for this?

The Unified Modeling Language (UML) is a general-purpose, developmental, modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.[1]

I believe UML is the "standard" for this. I'm saying this because I saw your discussion about "how to represent it'.

@lock9 lock9 added the Discussion Initial issue state - proposed but not yet accepted label Jul 20, 2019
@rodoufu
Copy link

rodoufu commented Jul 21, 2019

Hey @igormcoelho , what do you think about it?
Should be better an introduction using the key and values on the node, to avoid collisions, as the implementation on neo-project/neo-modules#97 ?

@rodoufu
Copy link

rodoufu commented Jul 22, 2019

The main question about "how to represent it" is drawing a simple and meaningful representation to give the proper understanding of how the nodes are related to each other and how they change.
I see how I can use your suggestion to represent the decisions but what I really want to show is the structure itself, I'm thinking about using a drawing with the nodes.

Another idea is to use the JSON representation, like:

Let's create a tree with the key and value (0x000001, 0x000001):
["000001","001","001"]

Now adding a new key and value (0x110002, 0x110002):
{"0":["00001","001","001"],"1":["10002","1102","1102"]}

@lock9
Copy link
Contributor Author

lock9 commented Jul 23, 2019

@rodoufu UML is able to represent both static and dynamic visions of the system.
I found this good article here if you want to check (not very deep):
https://creately.com/blog/diagrams/uml-diagram-types-examples/

I think that you can use the communication diagram for that particular case.
A class diagram could be good to show the basic structure of the MPT.

@lock9 lock9 added Cosmetic Type - Changes that improve user experience without affecting current functionality. Ledger Module - The ledger is our 'database', this is used to tag changes about how we store information labels Aug 10, 2019
Thacryba pushed a commit to simplitech/neo that referenced this issue Feb 17, 2020
* daily update

* update
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Cosmetic Type - Changes that improve user experience without affecting current functionality. Discussion Initial issue state - proposed but not yet accepted Ledger Module - The ledger is our 'database', this is used to tag changes about how we store information
Projects
None yet
Development

No branches or pull requests

3 participants