pallas icon indicating copy to clipboard operation
pallas copied to clipboard

"Local State Query" mini-protocol CDDL

Open scarmuega opened this issue 3 years ago • 2 comments

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.

scarmuega avatar Jun 10 '22 22:06 scarmuega

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 avatar Jul 21 '22 11:07 Titan-C

@Titan-C this is great! it's exactly what I was looking for. Thank you for sharing.

scarmuega avatar Aug 01 '22 01:08 scarmuega