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 Contract Deployment Flow #115

Open
ronnno opened this issue Nov 15, 2018 · 0 comments
Open

add Contract Deployment Flow #115

ronnno opened this issue Nov 15, 2018 · 0 comments
Assignees

Comments

@ronnno
Copy link
Contributor

ronnno commented Nov 15, 2018

Should cover:

  1. Deployment flow for user defined contract:
    1. Send Transaction to _Deployment contract - results in state entry for the new contract with source
      1. InterNode sync propagates this state to all nodes under consensus inside block state diff
    2. Subsequent calls to that contract VM:
      1. VM checks if contract binaries are available in volatile disk (contract binaries cache)
      2. If not available - pull sources from _Deployment contract state, compile and validate binary hashes (against stored hashes in _Deployment state)
      3. save binaries to volatile disk (contract binaries cache)
  2. Native contracts:
    1. lazy deployment - flow
    2. Why - the rational for why "built-in" contracts are not simply included in genesis block
    3. Auto deployment relies on consensus so "read only" CallMethod cannot trigger lazy contract deployment.
    4. If inter-contract calls are supported for V1 - can one contract constructor deploy another contract?
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

No branches or pull requests

2 participants