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

End-to-end boilerplate #1

Merged
merged 11 commits into from
Aug 8, 2024
Merged

End-to-end boilerplate #1

merged 11 commits into from
Aug 8, 2024

Conversation

bigspider
Copy link
Collaborator

@bigspider bigspider commented Jul 25, 2024

This adds enough pieces for a (fake) end-to-end execution of the test V-App in Vanadium.

The new common crate will contain any common code that should be shared between the Vanadium VM and the V-App client SDK. For example, I added there the stub of the Manifest, copied from vanadium_legacy.

I added two commands to the VM:

  • register_vapp: gets a manifest, and returns an hmac, that for now it's conveniently always [0x42; 32].
  • start_vapp: gets a Manifest, and actually start the execution of the app. Since there is no VM, all instructions are treated as NOP, so for now it keeps moving through the code segment until it overflows and crashes :)
    • as the VM doesn't currently store any page, at each step it asks the client for the page containing the next instruction
  • host is a temporary, standalone crate to make the e2e execution work. It contains the logic to parse the elf file of the test app, and act as the counterparty of the VM by interpreting the client commands (GET_PAGE, COMMIT_PAGE; only GET_PAGE is implemented for now, and without Merkle proofs)

Also added a basic CI workflow to run the tests for the crates that can be compiled for the x86_64-unknown-linux-gnu target.

@bigspider bigspider force-pushed the e2e branch 5 times, most recently from 71687ee to 1931964 Compare August 8, 2024 14:04
@bigspider bigspider marked this pull request as ready for review August 8, 2024 14:25
@bigspider bigspider merged commit 962981b into master Aug 8, 2024
8 checks passed
@bigspider bigspider deleted the e2e branch August 8, 2024 14:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant