After exploring the available EVM compilers offered by the open source community, being not able to find one of them capable to satisfy me, I decided to undertake this challenging project.


Thinking just a while to the EVM we all can agree that it is a really small environment, that’s why (in my opinion) an EVM dedicated compiler should offer the less as possible features to comfortably write smart contracts while keeping the generated opcode the more thin as possible.


I learned everithing I know about EVM reading from the internet or through reverse engineering. I have no way to say if what I read is wrong or outdated, I can’t say if there are other ways to do what I discovered: do not trust me! If you find something wrong, outdated, or false for any other reasons, please do not hesitate to report it on github.


In this documentation there are several assumptions as the following example.


1 + 1 = 3

Assumptions can be read in two ways: decontextualized or in the context of CCC. If reading one of them you find it wrong, please consider the previous Warning. Regardless of that, in the context of CCC they can be taken as the truth due to the fact that CCC is written respecting them as the truth should be respected.