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

Prototype Athena VM support #6194

Open
lrettig opened this issue Jul 31, 2024 · 0 comments
Open

Prototype Athena VM support #6194

lrettig opened this issue Jul 31, 2024 · 0 comments

Comments

@lrettig
Copy link
Member

lrettig commented Jul 31, 2024

Here's a rough outline of how we might add Athena support to go-spacemesh:

  1. Create a new vm module that implements the same interface as genvm
  2. Rip out most of the code, including the template code. Add only a simple Wallet template for now, written in Rust and targeting Athena, that only implements send. Handle two transaction types: self_spawn and call. Get this running on a testnet. (I'm working on these first two now in Proof of concept Athena VM integration #6180)
  3. Add the other missing methods to the Wallet template: call and deploy.
  4. Add a spawn host function to Athena (spawn an existing template). Implement spawn in the Wallet template. Get this running on a testnet.
  5. Add a deploy host function to Athena (deploy a new template). Implement deploy in the Wallet template. Get this running on a testnet. At this point, the testnet should allow users to deploy and spawn any code.
  6. (additional stages related to rollup design and implementation, to be determined)

CC @poszu

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

No branches or pull requests

1 participant