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

Endpoints to read from parent state #476

Closed
adlrocha opened this issue Feb 16, 2023 · 3 comments
Closed

Endpoints to read from parent state #476

adlrocha opened this issue Feb 16, 2023 · 3 comments
Assignees
Labels

Comments

@adlrocha
Copy link
Contributor

adlrocha commented Feb 16, 2023

Related: consensus-shipyard/lotus#21

Background

An eudico node running in a child subnet will need to read state and listen to events from its parent's subnet for its operation. In order to decouple completely the child subnet from the specific implementation of its parent blockchain, the child subnet node relies on the IPC agent to pull the required information from its parent state. The IPC agent will have to provide a set of endpoints in its jsonrpc server to serve these requests to child subnet nodes.

Some of the operations that require reading state from the parent blockchain are:

  • The consensus algorithm, that needs to track the validator set from its parent to determine when a reconfiguration needs to be triggered due to a change of membership.
  • The validation of blocks including top-down cross-net messages. Whenever a block including cross-net message is proposed, one of the consensus checks performed by validators to determine if the blocks is valid is to check if the cross-net messages included in the block have been successfully accepted and finalized in the parent chain.

Implementation

Initially, we can implement this jsonrpc methods so that is Eudico the one that polls the IPC agent to pull information from the parent. Alternatively, we could consider adding also some endpoint in Eudico to support pushing information from the IPC agent to Eudico. This would require all subnet SMR systems to support this method in order to be able to run IPC.

@adlrocha adlrocha changed the title Endpoints to read from parent state Endpoints to pull/push from parent state Feb 16, 2023
@adlrocha adlrocha changed the title Endpoints to pull/push from parent state Endpoints to read from parent state Feb 16, 2023
@adlrocha
Copy link
Contributor Author

This has been implemented, we are pending an end-to-end check to double-check that reading the membership information for Mir from the subnet actor in the parent works fine. We will close this issue then.

@jsoares
Copy link
Contributor

jsoares commented Mar 29, 2023

I understand this is still pending the end-to-end check?

@adlrocha
Copy link
Contributor Author

Oh, no. This is finished, and the integration works. It is used by subnet validator to mine new blocks.

@jsoares jsoares transferred this issue from consensus-shipyard/ipc-libs Dec 19, 2023
@jsoares jsoares added the s:ipc label Dec 19, 2023
@jsoares jsoares closed this as not planned Won't fix, can't repro, duplicate, stale Mar 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants