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

cosmic-swingset chain transcript and replay #10431

Open
mhofman opened this issue Nov 8, 2024 · 0 comments
Open

cosmic-swingset chain transcript and replay #10431

mhofman opened this issue Nov 8, 2024 · 0 comments
Assignees
Labels
cosmic-swingset package: cosmic-swingset enhancement New feature or request performance Performance related issues

Comments

@mhofman
Copy link
Member

mhofman commented Nov 8, 2024

What is the Problem Being Solved?

  • Ability to replay swingset activity as a whole without requiring tendermint and cosmos. For example this can be useful in evaluating performance issues.
  • Verify that the externally observable behavior of swingset execution (data written to vstorage, bank and ibc interactions) is not unexpectedly affected when changing parts of the system that shouldn't affect such execution outcome: liveslots gc, metering, scheduling, XS version (see Acceptance test for new Moddable XS versions #6929)

Description of the Design

A transcript of the bridge interactions between cosmic-swingset and golang cosmos, along with a transcript of the blocking sends received by cosmos. Some parts may need to be captured at a higher level to allow reproducing the semantics of the execution (action queue access, mailbox).

A good start is the old PR doing just this on the pismo chain: #6931

We've since added a lot of features expanding the communication (swing-store export data) as well as narrowing the execution model (run to completion).

Some recent PRs have also introduced refactorings helping layer cosmic-swingset better to be driven without a cosmos side (see #10165)

A nice bonus might also be the ability to use a cosmos state-sync snapshot or genesis export as starting point for the state of a replay (e.g. if vstorage is not strictly checked but instead recreated)

Security Considerations

None, tooling and telemetry only.

Scaling Considerations

Adding this optional feature should not negatively affect the performance of nodes not producing the transcript.

Test Plan

Replay of u17 (including upgrade block)

Upgrade Considerations

Should not be consensus affecting. Need to be able to apply as patch on u17.

@mhofman mhofman added enhancement New feature or request cosmic-swingset package: cosmic-swingset performance Performance related issues labels Nov 8, 2024
@mhofman mhofman self-assigned this Nov 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cosmic-swingset package: cosmic-swingset enhancement New feature or request performance Performance related issues
Projects
None yet
Development

No branches or pull requests

1 participant