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

Stateless chain observation + tool #1096

Closed
3 tasks done
abailly-iohk opened this issue Oct 3, 2023 · 0 comments · Fixed by #1196
Closed
3 tasks done

Stateless chain observation + tool #1096

abailly-iohk opened this issue Oct 3, 2023 · 0 comments · Fixed by #1196
Labels
green 💚 Low complexity or well understood feature 💬 feature A feature on our roadmap
Milestone

Comments

@abailly-iohk
Copy link
Contributor

abailly-iohk commented Oct 3, 2023

Why

To enable easy implementation of explorers, alternative implementations of the hydra-node it would be beneficial if any transaction itself (along with it's inputs) can be determined to be a Hydra protocol transaction.

This capability can be demonstrated by an executable connecting to the chain and just outputting all Hydra transactions.

What

  • An executable (or subcommand) of the hydra-node package connects to the chain and outputs all valid hydra protocol transactions as JSON on stdout, e.g. named hydra-chain-observer.
    • Notably, this executable should not need any head parameters or keys (to find "the right head", all heads are observed)
  • Direct chain observation code carries a lot of internal state: Get rid of it so that we can observe on-chain state of a head only by following the chain

How

  • Observe txs without having to know nothing more than some static information, eg. the scripts' addresses and the "standard" token name
  • This implies someone might try to trick us as it's easy to name a token HydraHeadV1?
  • Each observation is keyed by at the headId it relates to which is inferred from the InitTx

Relevant previous work:

@abailly-iohk abailly-iohk added 💬 feature A feature on our roadmap green 💚 Low complexity or well understood feature labels Oct 3, 2023
@abailly-iohk abailly-iohk added this to the 0.14.0 milestone Oct 3, 2023
@ch1bo ch1bo changed the title Make chain observation stateless Stateless chain observation + tool Oct 31, 2023
@ffakenz ffakenz assigned v0d1ch and ch1bo and unassigned v0d1ch Nov 20, 2023
@ch1bo ch1bo removed their assignment Nov 27, 2023
@ch1bo ch1bo removed this from the 0.14.0 milestone Dec 1, 2023
@ch1bo ch1bo linked a pull request Dec 5, 2023 that will close this issue
10 tasks
@ch1bo ch1bo added this to the 0.15.0 milestone Dec 22, 2023
@ch1bo ch1bo unassigned v0d1ch and ffakenz Mar 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
green 💚 Low complexity or well understood feature 💬 feature A feature on our roadmap
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

4 participants