We traveled to New York City this week to attend the Consensus 2017 conference from Monday to Wednesday. The previous weekend was the Consensus hackathon, a great chance for us to gain some hands-on experience with blockchain technologies, meet fellow blockchain developers and get inspired.
In our previous post we tried compiling, disassembling and comparing Ethereum smart contracts using solc, the Solidity compiler, and evmdis, a Solidity disassembler that works on the principle of abstract interpretation.
How do two software engineers start learning about blockchain today? By reading and coding. We decided to turn this into a kind of festival we’re dubbing “10 Days of Block”. We’ve picked a handful of open source blockchain projects, and will spend about a day each to see if we can get them running and doing something interesting.
Solidity is the smart contract language of the Ethereum blockchain. It gets compiled into bytecode by the solc compiler. As one might expect, the compiled bytecode is intended to be executed by a computer - or rather, by the the Ethereum Virtual Machine (EVM) distributed across all of the nodes participating in the Ethereum blockchain. As bytecode it lacks the context of the original source code that would make it human readable.