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

Clean up VMC -> SMC and move it to sharding repo #452

Closed
hwwhww opened this Issue Mar 9, 2018 · 11 comments

Comments

Projects
None yet
4 participants
@hwwhww
Copy link
Contributor

hwwhww commented Mar 9, 2018

What is wrong?

It's better to compile the contracts on CI with Vyper and check the bytecode, and it's not good to install Vyper in Py-EVM.

How can it be fixed

  1. Move VMC to sharding repo under /contracts/ directory.
  2. Also, rename Validator Manager Contract (VMC) to Sharding Manager Contract (SMC).

@hwwhww hwwhww added the eth2.0 label Mar 9, 2018

@djrtwo

This comment has been minimized.

Copy link
Contributor

djrtwo commented Mar 10, 2018

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Mar 27, 2018

For py-evm/eth-tester/py-evm dependent loop issue, it's better to move SMC handler to sharding repo too. @mhchia what do you think about it?

@jamesray1

This comment has been minimized.

Copy link

jamesray1 commented Mar 27, 2018

Happy to start work on this, we will need an SMC as the foundation for sharding.

@NIC619

This comment has been minimized.

Copy link
Contributor

NIC619 commented Mar 28, 2018

@jamesray1 It probably has to wait for #416 and #475 (or not). I'm working on #475 right now and I can take this one along with it once I'm done.

@jamesray1

This comment has been minimized.

Copy link

jamesray1 commented Mar 28, 2018

I've already started. This is what I have now: https://github.com/Drops-of-Diamond/sharding/blob/develop/smc/sharding_manager_contract.v.py. A lot of it is still unmodified from validator_manager_contract.v.py. I wouldn't bother looking at it or commenting on it as I'm still working on it.

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Mar 28, 2018

Steps:

  1. #475
  2. #452, with SMC handler APIs.
  3. Update the contract to follow the new specification
    • Also update SMC handler APIs.
    • Also make sure it won't ruin the CI tests in Py-EVM.
@jamesray1

This comment has been minimized.

Copy link

jamesray1 commented Mar 28, 2018

OK, so I assume that means don't do step 3 until steps 1 and 2 are done, so I'll stop working on sharding_manager_contract.v.py.

@jamesray1

This comment has been minimized.

Copy link

jamesray1 commented Mar 28, 2018

On the other hand, it doesn't look like #475 would introduce many changes (if any) to the SMC.

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Mar 28, 2018

@jamesray1 Thank you, but the step 3 task includes more than just Vyper contract, but also the SMC handler APIs. I'd say it's better to let @NIC619 complete it.

In the meantime, I suggest you can start to write some component/library/APIs design like SMC handler logic in Rust for your implementation, and how it interacts with the main chain client.

@jamesray1

This comment has been minimized.

Copy link

jamesray1 commented Mar 28, 2018

OK. Here is what I have. It doesn't compile on https://vyper.online/, with an EOF error.

@hwwhww

This comment has been minimized.

Copy link
Contributor

hwwhww commented Apr 10, 2018

@hwwhww hwwhww closed this Apr 10, 2018

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