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 eWASM Contract Interface specification #29

Merged
merged 1 commit into from
Aug 5, 2016
Merged

Conversation

axic
Copy link
Member

@axic axic commented Aug 4, 2016

Specify what is an eWASM contract.

Probably this could be extended with:

  • The backward compatibility preamble (as discussed in added backwards compatibility page #20)
  • The deploy preamble if that is still needed (copying the code)
  • Reference to the ABI and recommendation for a dispatcher code layout

### Exports

A contract must have exactly two exported symbols:
- `memory`: the shared memory space available for the EEI to write into.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This could be optional and we could assume that kernel will also just have access to memory. Currently we also export the memory becuase there is no other way to accesses it. But according to JSapi we should be able to create a wasm instance with memory externally defined (i think).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The memory supplied to instantiate will be copied over to the instance memory. It is not a pointer as far as I see.

@axic axic merged commit f34fdea into master Aug 5, 2016
@axic axic deleted the ewasm-contract branch August 10, 2016 19:19
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.

2 participants