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

docs: draft ADR 023 #4034

Draft
wants to merge 6 commits into
base: main
Choose a base branch
from
Draft

Conversation

rootulp
Copy link
Collaborator

@rootulp rootulp commented Nov 14, 2024

Related to #3729

@rootulp rootulp added the documentation Improvements or additions to documentation label Nov 14, 2024
@rootulp rootulp self-assigned this Nov 14, 2024
@rootulp
Copy link
Collaborator Author

rootulp commented Nov 14, 2024

I'm not sure what to add here. My next step is to repeat module extraction for the remaining state machine modules so maybe we can potentially merge this as-is and then I can update it when I resume work on the prototype after all the state machine modules are extracted.

Copy link
Contributor

@cmwaters cmwaters left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @rootulp for writing this up. I think this is a good start and we can add to it as necessary. For example, this misses details on:

  • How the protobuf registry will work in this setup or any other globally defined variables
  • How ABCI might change (i.e. when we use a later version of the SDK we might have VoteExtensions and FinalizeBlock)

It would also be nice if your diagram showed a venn diagram of modules i.e. v3 can have overlap but also a different subset of modules.

Also in practice v1, v2 and v3 will probably be rolled together as a single state machine and v4 will be a different set of dependencies etc.

@rootulp
Copy link
Collaborator Author

rootulp commented Nov 15, 2024

Two variants on the current design proposed by @tac0turtle:

  1. Extract old state machines to run out of process so they aren't contained in the latest app binary

    Screenshot 2024-11-15 at 14 53 30

  2. Extract celestia-core to run out of process from the multiplexer

    Screenshot 2024-11-15 at 14 55 29

@rootulp
Copy link
Collaborator Author

rootulp commented Nov 15, 2024

this misses details on:

Agreed, added those questions to the ADR.

It would also be nice if your diagram showed a venn diagram of modules i.e. v3 can have overlap but also a different subset of modules.

Added a module unique to v4.

Also in practice v1, v2 and v3 will probably be rolled together as a single state machine and v4 will be a different set of dependencies etc.

Good call, updated the diagram to v3 and v4.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants