Discussion - Contrasting local and public test blockchains/ 500 words
Dr. Michael G. Solomon
BLCN 631 – Blockchain Implementation
EFD Chapter 4 – Examining the Ethereum Ecosystem
and Development Lifecycle
Ethereum Block Structure
• Block
• Container for transactions and other data
• Header and body sections
• Block header
• Descriptive and related pointers
• Block body
• Transactions and data
Ethereum Block Header
Ethereum Transaction
Smart Contracts • Enforce rules of creating transactions
• Pre-requisites and required processing
• Only way to add transactions
• Deterministic
• Smart contracts run the same way, with the same results on all nodes
• Turing complete
• Given enough resources, you can carry out any calculation
Solidity • Most popular language for Ethereum smart
contracts
• Looks like JavaScript
• Easy to learn
pragma solidity ^0.4.25
contract helloWorld{ function printHelloWorld() public constant
returns (string) { return “Hello world!’;
} }
The Ethereum Virtual Machine
• Ethereum Virtual Machine (EVM)
• Program that implements Ethereum node
• EVM runs all smart contract code
• To become an Ethereum node
• You must run any EVM
• Multiple versions in different languages
• EVM enforces rules to guarantee consistency
Gas • Nothing is free
• Gas
• Cost of accessing the Ethereum blockchain
• Paid by transaction initiators
• Paid to miners
• Purposes of gas
• Encourages efficient code
• Discourages Denial of Service attacks ($$$)
• Discourages excessive blockchain growth
Ethereum Development Ecosystem
• Ethereum client (EVM)
• Development/testing blockchain
• Compiler
• Testing framework
• Source code editor/IDE
Ethereum Development Lifecycle
Summary
• Examining the Ethereum blockchain structure
• Understanding smart contracts and Solidity
• Paying for blockchain access
• Surveying Ethereum development tools
• Exploring the Ethereum application development lifecycle