"Local State Query" mini-protocol CDDL
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 State Query" mini-protocol specification skips the definitions for the query and result messages.
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 State Query" mini-protocol to facilitate the development of the corresponding Pallas implementation.
Hi, this has been precisely my work in recent time. I have such documentation on https://arsmagna.xyz/docs/network-lsq/ I'm happy to receive any feedback.
@Titan-C this is great! it's exactly what I was looking for. Thank you for sharing.