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

Check-in EVM hex code & remove generation #606

Open
D4nte opened this issue Dec 26, 2018 · 9 comments

Comments

Projects
None yet
3 participants
@D4nte
Copy link
Member

commented Dec 26, 2018

Motivations:

  • Contract ethereum hex should be static and part of RFC003
  • Generation of the hex from EVM assembly should be easy but not part of the comit-rs crate

DoD:

  • One private new repository for all HTLCs in coblox (coblox/blockchain_contracts#1 & coblox/blockchain_contracts#3) new vendor crate blockchain_contracts #864
  • Commit EVM hex code in comit_node crate #636
  • remove build.rs from comit-rs repo (3 reviews)
  • create new tooling repo with templates to facilitate EVM compilation #864
  • Some way to get offsets and full hex for particular HTLC (see table in RFCs) for Ethereum #864
  • Offsets for Bitcoin #910 #932 #933
  • Compare with RFCs (and update the latter one if needed) for Ethereum (done, see comit-network/RFCs#46 & comit-network/RFCs#48)
  • Compare with RFCs for Bitcoin #910
  • Make offsets in RFCs: start index inclusive and end index exclusive for Ethereum comit-network/RFCs#66
  • Make offsets in RFCs: start index inclusive and end index exclusive for Bitcoin
  • Tests are running
  • Upgrade to latest solc
  • use fix offsets in comit-rs #636 #933
  • Move crate to own repo

Blocked by comit-network/RFCs#7 (closed)
Blocked by comit-network/RFCs#21 (closed)

@D4nte

This comment has been minimized.

Copy link
Member Author

commented Jan 10, 2019

Parity uses solc/solcjs: https://github.com/paritytech/rust_solc

@D4nte

This comment has been minimized.

Copy link
Member Author

commented Jan 10, 2019

Can't find Rust lib to compile evm assembly/solidity..

@D4nte D4nte referenced this issue Jan 10, 2019

Closed

Build evm code on demand #633

0 of 1 task complete

@ghost ghost added review and removed work-in-progress labels Jan 10, 2019

@thomaseizinger

This comment has been minimized.

Copy link
Member

commented Jan 11, 2019

General question: What is is so bad about the docker requirement? Docker is pretty much a thing that all developers have installed, no? :D

@bonomat

This comment has been minimized.

Copy link
Member

commented Jan 11, 2019

General question: What is is so bad about the docker requirement? Docker is pretty much a thing that all developers have installed, no? :D

exactly, it's only pretty much a thing that all developers have installed. Imho it shouldn't be required if you just want to build our code base. As we saw during your hackathon: not everyone has Docker installed.

@thomaseizinger

This comment has been minimized.

Copy link
Member

commented Jan 11, 2019

  1. The hackathon is a completely different environment.

  2. If you want to build things from source, you expect having to install all kinds of stuff, esp. if you are building a project that compiles for your current architecture (like Rust projects do). Codebases that use languages like Java are different and usually much easier to build.

We already require users to install libzmq, yarn and nvm if the want to build from source and requiring docker as well is bad? I don't understand that reasoning :)

@D4nte D4nte changed the title Remove docker dependency to build Check-in EVM hex code & remove generation Jan 14, 2019

@D4nte D4nte added blocked work-in-progress and removed review labels Jan 14, 2019

@bonomat

This comment has been minimized.

Copy link
Member

commented Jan 14, 2019

As you are saying, we need all kind of stuff for our build like libzmq. The rest is actually only needed for our end2end tests. Docker should not be required for the build imho as we only use docker to make use of other tools, i.e. solc.

@thomaseizinger

This comment has been minimized.

Copy link
Member

commented Jan 14, 2019

Having talked with @LLFourn and @D4nte offline, we agreed that eventually, this will be solved because the HEX code is specified in the RFC and not build on-demand. We therefore rephrased the issue to reflect what should actually be done: checking in the EVM byte code into the repository and embed it into the application. Not requiring docker is a side-effect of that and thus doesn't require additional attention :)

@D4nte

This comment has been minimized.

Copy link
Member Author

commented Jan 16, 2019

Yes please not the issue is updated and need to be re-groomed.

@D4nte

This comment has been minimized.

Copy link
Member Author

commented Apr 4, 2019

Work was started on https://github.com/comit-network/comit-rs/tree/606-build-evm-code-on-demand before it got blocked due to a change of strategy.

Now that the strategy is clarified and unblocked, I'd like to be the one to finish the change and to take over from where I left it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.