-
Notifications
You must be signed in to change notification settings - Fork 319
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
CPS-0012? | Query Layer Standardization #625
CPS-0012? | Query Layer Standardization #625
Conversation
@klntsky it will be good to have discussion officially begin on this, during the concurrent wallet connector discussion, so I've put it on the agenda for tomorrow's CIP editors' meeting... hope you can make the same time slot again 24 hours later (https://hackmd.io/@cip-editors/77) cc @Ryun1 @Crypto2099 |
Co-authored-by: Ryan Williams <44342099+Ryun1@users.noreply.github.com>
…o klntsky/query-layer-cps
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@klntsky editors agreed ex-meeting to assign a number to this one. 🚀
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
p.s. (last review got clicked through prematurely somehow) @klntsky please also change the directory to CPS-0012
and update the link in the OP to your new document pathname.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is awesome and is an innovative big step forward for Cardano. 🚀
Question came up on Discord about putting some implementation code here: the editorial standard is to keep reference implementations in external repositories:
When you have your proposed JS code to validate the JSON schema please link to it from the CPS, if it's not merged by then (or we'll do another PR later), or from a solution CIP if it emerges & seems more appropriate there.
Also let's remember to update this link in your document to a merged CIP when that becomes possible... since that may happen in the same time frame: 🤓
…foundation#750) * CIP meeting 80 updates * adding cardano-foundation#625 inter-meeting by undisputed request * accidentally promoted as CIP instead of CPS
Co-authored-by: Vladimir Kalnitsky <klntsky@gmail.com>
CPS-12 | add feedback from workshop 1
I don't see a lot of risks there. At least for common RDBMS, data models can be altered via migrations if performance is lacking for new endpoints (e.g. due to absence of appropriate indices). This performance improvement is and should be an iterative process, but I don't think that we should put too much attention there while building a standard, unless there are concerns that the queries we may want to provide are impossible to implement efficiently (I doubt that would be the case, the relations between different data are very simple).
Batching specifically could (and I think it should) be included in the spec. For example, just like ETH's RPC allows to get info in batches using some endpoints. The limits may even vary between providers - e.g. Ethereum-like RPC providers set their own limits for Of course providers may offer features other than batching - if they are non-standard, they should be just scoped separately, so that the users will understand that they would sign for a vendor lock-in by using them. Different libraries would still be able to wrap these endpoints - it's just that the "basic" set of functionality will be fixed (which is an improvement over not having a standardized API endpoint set).
We have discussed this in one of the calls. Existing code will not go away, just as existing query layer providers will have to maintain compatibility with their clients' code for at least some time. However, as consumers would slightly prefer to avoid vendor-locking themselves, there would be a motivation to use a "standardized" implementation.
Could you please point out speicific design choices that were too opinionated/inconvenient? |
Not design choices, but the data model (or formats) - that was mentioned in the introductory blog from carp ( here ). |
…ssion CPS-12 | add discussion around adoption issues
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few final comments cleaning up grammar/spelling
Beyond these small comments, I believe this CPS is good to be merged
@klntsky we are trying to merge this so please respond to @Ryun1's #625 (review) - I hate to mark something But we do need to make those final spelling/format corrections before merge (I'll pass it myself after you have made those changes). True, the editors could commit those suggestions (and we might, rather than leave this PR stalled) it would be better process for this to be done by you... I'll change it to |
Fix phrasing Co-authored-by: Ryan <44342099+Ryun1@users.noreply.github.com>
Co-authored-by: Ryan <44342099+Ryun1@users.noreply.github.com>
@rphair Thanks! Commited everything. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
good stuff @klntsky - changing status to Last Check
& so we should be able to merge this at the next CIP meeting.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
Cardano lacks a standardized query layer. This leads to suboptimal tooling, dApp and wallet architecture.
(latest document)