hydra
hydra copied to clipboard
Spike: Support Marlowe's spike
Why
- streamline, simplify, enable open-source contributions
- that for, a potential IO internal user: Marlowe will be a guest and evaluate Hydra as a potential puzzle piece in running Marlowe contracts more efficiently
- we want them to have experience and also ensure discovered things are to the benefit of future contributors
What
-
As a first step the Marlowe will
- explore the repository
- run the demo
- hackily try to run a marlowe script inside a hydra head (by extending the demo case or so)
-
That for, the Hydra team will commit to respond on any questions on StackExchange, Discord or Slack within a 12 hour time frame.
- Where it makes sense, StackExchange or Discord is prioritized for the benefit of the greater community (esp. SE could become a knowledge base)
-
Also, we will ensure that this first Marlowe spike produces a
- solution design for one Marlowe use case on Hydra
- any existing features needed for that use case are identifed
- any missing features are tracked as idea items on our roadmap
How
- [x] #404
- [ ] Reflect on what documents were helpful and which were missing during this interaction
Hi @ch1bo,
thanks a lot for the nice intro and for the above clear commitment ;-)
We are starting to scaffold something here: https://github.com/input-output-hk/marlowe-hydra-poc
This week we are going to migrate parts of this ticket to our project. The rest of the colab could be done using usual issue / PR flows and other communication channels as you suggested above. Should we close this ticket then?
Hi @paluh
great to see you getting started! I think we should keep this ticket open for the first of your spikes and do the "reflect what was helpful and/or missing" part on our end. I expect that you guys will be time boxing the exploration and hacking spike on your end? That would allow for a definition of done on this one and not have it be the never-ending story ;)
After @paluh and @yveshauser had the opportunity working with Hydra from Marlowe, they have shared what resources they found helpful, outdated or missing. I am listing them here non-prioritized and with some ideas on follow-up actions:
helpful
- The website is great and really helpful to do the first steps and run the demo application etc.
- Clear codebase with clear namespaces and sub packages (choices like Hydra.Cardano.Api and not Hydra.Utils.Cardano without clear substructure).
- Architecture decision records and how the decisions where taken (e.g. no effect systems) - keeping it simple. Would expose the ADRs even more. -> Make them a top-level navigation entry on the website?
- Examples / the TUI application
outdated
- Project seems to be in good shape, we could think about dropping the
-pocsuffix -> Let's do it
missing
-
In order to understand and implement our demo application we mostly explored source code - hoogle and haddock would be preferable, but are missing -> Provide instructions how to setup repository using
haskell.nixandwithHoogle = true? -
Differences differences between the paper and the current implementation. -> Yes! #448
-
Were not sure how "hydra channel isomorphism" handles policy scripts and minting (it is not apparent from the paper). -> Mentioned a bit in the FAQ and one feature; should write about it in the docs though!
-
Hydra client in PureScript/TypeScript -> Sounds like a perfect future open-source contribution!