Ethereum Development 101
Ethereum is a non-hierarchical network of computers (nodes) that constructs and reaches consensus on the blockchain, a continuously expanding collection of blocks (batches of transactions). Each block has a unique identifier for the chain that must come before it in order for it to be regarded as genuine. Every time a node adds a block to its chain, it executes the block’s transactions in the order they are stated, each of which has the potential to change the ETH balances and other storage values of Ethereum accounts. The state, or collection of these balances and values, is kept on the node independently of the blockchain in a Merkle tree. This course introduces you to various libraries and plugins that are used in Dapps Development. It also introduces you to Dapp development with hands-on sessions and demo. The high-level programming languages used to create Ethereum’s smart contracts are subsequently reduced to EVM bytecode before being deployed on the Ethereum network. They can be written in Solidity (a language library with resemblances to C and Java Script), LLL (a low-level Lisp-like language), Yul (an intermediate language that can compile to various different backends EVM 1.0, EVM 1.5, and e WASM are planned), Serpent (similar to Python but deprecated), and Mutan (Go-based, but deprecated). A research-focused language named Vyper was also in development at the time (a strongly-typed Python-derived decidable language). [Reference needed] In order for users to inspect the code and confirm that it compiles to the bytecode that is on-chain, source code and compiler metadata are typically published concurrently with the launch of the contract.