-
Notifications
You must be signed in to change notification settings - Fork 3
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
What are CIDs? #13
Comments
@SimonLab yes, the "What?" section is incomplete. We should attempt to summarise our own understanding of what a CID is in a paragraph Explaining a CID in terms of it's components (multibase, multihash, multicodec) is like teaching a kid to tie their shoelaces using a mathematical equation: The point is this, our "What?" section needs to answer the question "What's in it for Me?" The whole point of using a CID is that the ID of the record is always the same whether the content is created by a JavaScript/Elm Web App or iOS/Android Mobile App on a Client (offline first) or a C/Go/Haskell/Rust app on a remote server. The CID is the cryptographic hash of the contents of the data. It's always the same and can be verified simply by re-running the hash using the original data. For example: imagine you have a learning app that tracks the progress of the learner, Traditionally, record IDs in a distributed system are random (nondeterministc pseudorandom) e.g: UUID `
The same data different (random) UUID >> duplicate records! 😞 This table illustrates that it's possible to insert the same record twice and it will have a different I believe some of the "Frequently Asked Questions" about CIDs are contained in #10 along with my (attempt) at clear answers #10 (comment) ...
|
Thanks for the clarifications @nelsonic I've created the issue with the intention to explain how the Concerning your explanation, it is really clear on what features a Content Identifier can provide 👍 . I would also specify that we choose to use the |
With regards to the following point...
I should have done this (for issue #10) 😞 I'll make sure I summarise the points and get anything that is not clear at the moment from that issue into the readme. Sorry for the delay. |
@SimonLab indeed. The question of Why the Why IPFS Compatibility?IPFS is created by several really smart people who have thought of several aspects of "futureproofing". By making our
The "difficult" part of getting CIDs to work is removing all the noise and focussing just on what we need for "MVP". We definitely do not need full compatibility for all the features of the JS
We only need a way of creating a CID for a String and a Map so that we can use it to create a CID for a record before inserting it into PostgreSQL.
@RobStallion no need to apologise. I know everyone is busy with client work. |
Currently the Readme focus on explaining why CIDs are important and gives a few example (Google, Instagram, Youtube) but the what section is quiet short and doesn't explain in details how CIDs can be implemented and what are their format.
I think we can follow the specification defined with https://github.com/multiformats/cid and explain in the What section of the Readme how CIDs work
see aslo https://proto.school/#/data-structures/04
The text was updated successfully, but these errors were encountered: