Discussion - Contrasting local and public test blockchains/ 500 words

profileThulata
CHapter-4.pdf

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