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

Offline mode #1254

Closed
ch1bo opened this issue Jan 16, 2024 · 0 comments · Fixed by #1118 or #1222
Closed

Offline mode #1254

ch1bo opened this issue Jan 16, 2024 · 0 comments · Fixed by #1118 or #1222
Labels
💬 feature A feature on our roadmap
Milestone

Comments

@ch1bo
Copy link
Member

ch1bo commented Jan 16, 2024

Why

  • SundaeLabs has submitted a Catalyst Proposal to be able to use a hydra-node and a Hydra head as a wrapper over a (possibly customised) Cardano ledger
  • Enabling this feature makes it easier to implement various applications that need to compute or validate transactions operating on a well-known universe, eg. as opposed to arbitrary transactions over Cardano network, in a fast and safe way while staying Cardano compatible and using the same tools as in the rest of the ecosystem

What

  • Users should be able to run a hydra-node without needing a cardano-node or even a network connection, initialise the Hydra ledger with some UTxO, send and process transactions using the ledger rules, and retrieve the result as part of the Closing and Fanout logic
  • Out-of-scope: While it could be interesting to keep the off-chain part of the protocol and allow to form an "offline" Hydra Head connecting hydra-nodes without the mediation of a layer 1, this is left for future work and contributions.

How

  • Materialise the decision in an ADR
  • Provide a --offline command-line flag to enable this special mode of operation
  • Implement a "mock" Chain interface that automatically drives the Head state machine and responds to state changed and Effects emitted by the HeadLogic
  • Implement a "mock" Network interface that does not connect to anything and ignores messages. There won't be any callback anyway because network messages emitted by the HeadLogic as an Effect are reinjected immediately as Events within the core reaction loop
  • Provide end-to-end testing for offline mode

See

@ch1bo ch1bo converted this from a draft issue Jan 16, 2024
@ch1bo ch1bo assigned ghost Jan 16, 2024
@ch1bo ch1bo added this to the 0.15.0 milestone Jan 16, 2024
@ch1bo ch1bo added the 💬 feature A feature on our roadmap label Jan 16, 2024
This was linked to pull requests Jan 16, 2024
@ghost ghost closed this as completed Jan 17, 2024
@github-project-automation github-project-automation bot moved this from Now to Done in Hydra Head Roadmap Jan 17, 2024
@ch1bo ch1bo unassigned ghost Jan 23, 2024
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
1 participant