-
Notifications
You must be signed in to change notification settings - Fork 63
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
"Local Tx-Submission" mini-protocol CDDL #115
Comments
Hi @scarmuega not sure if this helps but the |
Thanks @cleanerm5. I think that the CDDL definition in that file is serving as a placeholder for running tests over the spec. It seems that the "reason" struct is ledger-specific, so it takes a different shape when implemented at the cardano-node level. |
Is this a limitation of the protocol itself? Does there need to be discussion on standardizing the CDDL? |
@junderw not a limitation of the protocol, just lack of documentation AFAIK. The formal spec of the Ouroboros protocol is generic over certain constructs, this is by design. The goal AFAIK, is to allow different blockchains to implement the same consensus protocol with a certain level of flexibility at the implementation-level. What we're lacking is a spec (eg: CDDL) of the specific constructs that Cardano uses for the implementation of the Ouroboros protocol. |
I wonder if discussing this on popular technical forums in the community or asking recent committers of cardano-node like @deepfire, @newhoggy, or @Jimbo4350 might help? It seems like there's only a few missing pieces and if lack of documentation is the problem, asking someone who is familiar with the primary implementation should solve the problem with a simple answer fairly quickly. Currently the The question to those familiar with |
I've made progress on this task with #495 |
Pallas aims to provide an implementation of each of the mini-protocols described in the Ouroboros network spec. We rely on the CDDL definitions to implement the CBOR wire-format required by each protocol.
Most of the wire-format is fully defined by the spec, except for certain messages which are specific to the ledger implementation. In particular, the "Local Tx-Submission" mini-protocol specification skips the definitions for the rejection
reason
message.We've tried reverse-engineering the Haskell code to infer the CBOR structures, but it's a hard and error-prone process. On top of that, each cardano-node version might potentially change / augment these definitions.
We need to build / acquire a CDDL document that describes the missing structures of the "Local Tx-Submission" mini-protocol to facilitate the development of the corresponding Pallas implementation.
The text was updated successfully, but these errors were encountered: