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

Support Output Unification #103

Closed
2 tasks done
gligneul opened this issue Sep 27, 2023 · 2 comments
Closed
2 tasks done

Support Output Unification #103

gligneul opened this issue Sep 27, 2023 · 2 comments
Assignees
Labels
epic A issue with several steps #feat:output-unification Feature: Output Unification

Comments

@gligneul
Copy link
Contributor

gligneul commented Sep 27, 2023

📚 Context

In this epic, we will make minimal changes in the Rust node to adapt to the Output Unification. In particular, we should avoid making significant changes to the Postgres Database schema used by the Rust Rollups Node. For this issue, we also won't change the GraphQL API.

The Cartesi-machine Linux driver will handle outputs as binary data. So, the rollups-http-server will encode these outputs before sending them to the driver. The Emulator Unit will do most of these changes, but they might need some help from us to do modifications on the Rust part of the Rollups HTTP server. The outputs will be encoded using the Solidity ABI encoding using the following contract interface.

Outside the machine, the server manager will receive the outputs as binary data and decode them back to structured data. The server-manager API might change slightly, so we must modify the advance-runner and the host-runner.

I believe it won't be necessary for the host-runner to encode and decode the outputs to binary. We can store the structured outputs directly in the database.

📈 Subtasks

@gligneul gligneul added the epic A issue with several steps label Sep 27, 2023
@gligneul gligneul added this to the 2.0.0 milestone Sep 27, 2023
@gligneul gligneul moved this to 📋 Backlog in Node Unit Sep 27, 2023
@gligneul gligneul assigned gligneul and unassigned gligneul Nov 14, 2023
@gligneul gligneul added the #feat:output-unification Feature: Output Unification label Nov 16, 2023
@gligneul
Copy link
Contributor Author

gligneul commented Jan 8, 2024

Here is the PR that updates the server-manager API: https://github.com/cartesi/grpc-interfaces/pull/27/files

@gligneul gligneul added the ! High priority label Jan 15, 2024
@gligneul gligneul removed the ! High priority label Apr 8, 2024
@gligneul
Copy link
Contributor Author

Continue on #375

@github-project-automation github-project-automation bot moved this from 📋 Backlog to ✅ Done in Node Unit Apr 10, 2024
@torives torives removed this from the 2.0.0 milestone Apr 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic A issue with several steps #feat:output-unification Feature: Output Unification
Projects
Archived in project
Development

No branches or pull requests

3 participants