This post is intended to provide an end-to-end walk through getting a DApp up and running on a basic toolchain. We work directly with the Ethereum node, web server and DApp browser rather than using wrapper scripts to help show what is going on behind the scenes.
We just finished attending Consensus 2017. There were a mix of topics, as one might expect, ranging from business applications to technical overviews of blockchain and related technologies, as well as some insight into the current legal landscape.
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.