Skip to content
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

Open specification with change process #693

Closed
3 tasks done
ch1bo opened this issue Feb 2, 2023 · 1 comment
Closed
3 tasks done

Open specification with change process #693

ch1bo opened this issue Feb 2, 2023 · 1 comment
Labels
💬 feature A feature on our roadmap
Milestone

Comments

@ch1bo
Copy link
Member

ch1bo commented Feb 2, 2023

Why

The Hydra protocol for creating state channels on Cardano should be an open standard, that is understandable and amenable by all interested contributors. For that the protocol specification needs to be easily approachable with a defined change process. A single PDF as a technical spec is not great to explore and refer to.

What

A good example of such an open and living specification is the BOLT spec of the lightning network. Another, more documentation focused example is ZKDocs. Something in-between is what we should aim for.

Currently the specification is a LaTeX document with source on Github https://github.com/ch1bo/hydra-spec and collaborative editing available via overleaf https://www.overleaf.com/4615313757crxctwbwjtrf. This was very helpful in the initial writing and reviewing of the protocol.

We want the specification to be

  • reviewable / commentable on
  • explorable
  • Can be referred to
  • have multiple versions
  • changes an be proposed

To make the protocol more approachable, we need to make it available on the website and changes to it should follow a pull-request practice:

How

  • A Github action building the PDF via nix should be trivial. A flake with texlive in a dev shell is available in https://github.com/ch1bo/hydra-spec/blob/main/flake.nix and building it should just be something like pdflatex -file-line-error --synctex=1 -interaction=nonstopmode main.tex

Out of scope ideas:

  • ZKDocs is using a static site generator that is extended for some latex capability. We could explore the same approach with docusaurus by converting the text to markdown and keeping the math LaTeX-like. pandoc is usually good at this. Also the flake template templates#pandoc-xelatex (nix flake init --template templates#pandoc-xelatex) does show how to build a LaTeX pdf from markdown. It should be possible to have both options from this source.
  • Could monitor the page download to check whether spec is used by community

TBD

  • How does this relate to the CIP process?
@ch1bo ch1bo added the 💭 idea An idea or feature request label Feb 2, 2023
@ch1bo ch1bo mentioned this issue Feb 23, 2023
@ch1bo ch1bo added 💬 feature A feature on our roadmap and removed 💭 idea An idea or feature request labels Mar 21, 2023
@ch1bo ch1bo added this to the 0.10.0 milestone Mar 21, 2023
@ch1bo ch1bo moved this to Next in Hydra Head Roadmap Mar 22, 2023
@ch1bo ch1bo self-assigned this Apr 25, 2023
@ch1bo ch1bo linked a pull request Apr 25, 2023 that will close this issue
4 tasks
@ch1bo ch1bo removed a link to a pull request Apr 25, 2023
4 tasks
@ch1bo ch1bo removed their assignment Apr 27, 2023
@ch1bo
Copy link
Member Author

ch1bo commented May 2, 2023

Moved out of scope ideas into this discussion #843.

@ghost ghost closed this as completed May 2, 2023
@github-project-automation github-project-automation bot moved this from Next to Done in Hydra Head Roadmap May 2, 2023
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💬 feature A feature on our roadmap
Projects
None yet
Development

No branches or pull requests

1 participant