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

add devmode launcher implementation #10104

Closed
Tracked by #8742
mattsse opened this issue Aug 5, 2024 · 5 comments
Closed
Tracked by #8742

add devmode launcher implementation #10104

mattsse opened this issue Aug 5, 2024 · 5 comments
Assignees
Labels
C-enhancement New feature or request D-complex Quite challenging from either a design or technical perspective Ask for help!

Comments

@mattsse
Copy link
Collaborator

mattsse commented Aug 5, 2024

with the new orchestrator trait design, we can now implement a proper devmode orchestrator directly on top of the auto-seal-consensus implementation and we no longer need to mimic the engine API internally:

let _ = to_engine.send(BeaconEngineMessage::ForkchoiceUpdated {
state,
payload_attrs: None,
tx,
});

TODO

  • Add DevOrchestrator implementation that drives the MiningTask and advances the node
    impl<Executor, Client, Pool, Engine> Future for MiningTask<Client, Pool, Executor, Engine>
    where
    Client: StateProviderFactory + CanonChainTracker + Clone + Unpin + 'static,
    Pool: TransactionPool + Unpin + 'static,
    Engine: EngineTypes,
    Executor: BlockExecutorProvider,
    {
  • This should start as a duplicated implementation of MiningTask that emits new ExecutedBlock
  • the DevOrchestrator then uses that block to advance the chain by persisting the block, similar to

/// Run the engine API handler.
///
/// This will block the current thread and process incoming messages.
pub fn run(mut self) {

see for reference:

ctx.task_executor().spawn_critical_blocking("consensus engine", async move {

@mattsse mattsse added C-enhancement New feature or request D-complex Quite challenging from either a design or technical perspective Ask for help! labels Aug 5, 2024
@malik672
Copy link
Contributor

@mattsse assign me

@mattsse
Copy link
Collaborator Author

mattsse commented Aug 20, 2024

@malik672 do you still have the capacity to work on this?
happy to provide more pointers if required

@malik672
Copy link
Contributor

@mattsse yes I do, was already working on it but stopped, it's kinda hard ngl

@mattsse
Copy link
Collaborator Author

mattsse commented Aug 20, 2024

hehe it is

please open a draft pr and I can provide more directions

@mattsse
Copy link
Collaborator Author

mattsse commented Oct 14, 2024

completed

@mattsse mattsse closed this as completed Oct 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-enhancement New feature or request D-complex Quite challenging from either a design or technical perspective Ask for help!
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants