hydra icon indicating copy to clipboard operation
hydra copied to clipboard

Spike: Support Marlowe's spike

Open ch1bo opened this issue 3 years ago • 2 comments
trafficstars

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

ch1bo avatar Jun 24 '22 11:06 ch1bo

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?

paluh avatar Jul 05 '22 09:07 paluh

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 ;)

ch1bo avatar Jul 05 '22 11:07 ch1bo

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 -poc suffix -> 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.nix and withHoogle = 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!

ch1bo avatar Aug 29 '22 08:08 ch1bo