Consolidation of git repos (post Homestead) #251
Comments
The most complicated thing to do here is that we need a build system that can be run from e.g. the solidity repository and also configure cpp-ethereum correctly. If we have that, we can actually move the code. |
Yes. And I think those build-system improvements likely fall on me (which is fine). Also, some solidity <-> cpp-ethereum dependency cleanup required. So @chriseth Looking back through the solidity repo history, I think that earlier versions of that repo DID NOT depend on libethereum. Is that true? |
Solidity and the EVM both have a dependency on the instruction set and the gas cost for the instructions. But I think it is fine to copy those, something similar was done for evmjit. |
"But I think it is fine to copy those, something similar was done for evmjit." Right. Those costs are already going to be redundantly specified across every single EVM implementation anyway, aren't they, and will change very rarely. "For testing, we can probably remove a link-dependency once we have some way to start the backend node in "testing mode" Please could you explain to me exactly how the tests depend on the runtime? Are we actually running the EVM, and then exporting JSON from its state? And then that is the data for future regression tests? (across all clients). |
Yes, a lot of the tests just have solidity code, compile and deploy it, then call functions on the code and see that the contract behaves as written in the source. The plan is to perform these via rpc. |
Done. |
Following on from #250, post-Homestead I would like to propose that we consolidate our actual repositories as well.
That will be work, which has a disruptive cost, but should reduce our ongoing maintenance costs, make refactoring easier (because they will no longer span multiple repos), and make it easier for new contributors to get involved.
Possible boundaries (to be discussed and refined here):
See http://doublethinkco.github.io/cpp-ethereum-cross/images/target_dependency_graph.svg
The text was updated successfully, but these errors were encountered: