writing smart contracts

24
INTRODUCTION TO SMART CONTRACTS WITH SOLIDITY AND ETHEREUM

Upload: marek-kirejczyk

Post on 12-Apr-2017

129 views

Category:

Science


3 download

TRANSCRIPT

INTRODUCTION TO SMART CONTRACTS WITH SOLIDITY AND ETHEREUM

INTRO

BITCOIN

▸ Cryptocurrency

▸ One shared distributed ledger

▸ Can’t be falsified

▸ Database of transactions

▸ Support for “Script”

▸ Limited smart contracts capabilities

INTRO

ETHEREUM

▸ Bitcoin like distributed ledger

▸ Ethereum Virtual Machine

▸ Turing complete

▸ Blockchain

▸ Contracts (code)

▸ Storage

▸ Logs

▸ Events

ETHEREUM

HOW IT WORKS?

▸ Every node runs every contract

▸ Deterministic

▸ Ether (cryptocurrency)

▸ Two kind of actors

▸ Contracts

▸ Wallets

▸ Transaction = messages

▸ Code execution spend gas (ethereum)

CONTRACTSSOLIDITY

SOLIDITY

SOLIDITY

SOLIDITY

ETHEREUM.GITHUB.IO/BROWSER-SOLIDITY

ETHEREUM.RB

ETHEREUM.RB

CONTRACTS

SOLIDITY

▸ Object oriented language

▸ Complied to EVM

▸ Can send and receive ether

▸ Can be run on production, testnet or private net

PURCHASE

SOLIDITY

SOLIDITY

DISTRIBUTED FUTURE

ETHEREUM

LIMITATIONS

▸ Transaction takes coupe of minutes to be mined

▸ Storage and execution is expensive

▸ Ecosystem is young

ETHEREUM

OFF CHAIN

▸ Half-distributed

▸ IPFS

▸ Oracles and Oraclize

▸ Swarm - distributed storage with incentives

ETHEREUM

METROPOLIS

▸ Casper - proof of stake

▸ Scalability

▸ zkSNARKs - privacy

BLOCKCHAIN 2.0?

TEXT

USEFUL LINKS

▸ Online editor: ethereum.github.io/browser-solidity

▸ Blockchain explorer: testnet.etherscan.io

▸ Ethereum ruby gem: github.com/marekkirejczyk/ethereum.rb

▸ Example ruby app: github.com/marekkirejczyk/ruby_ethereum_example

THANK YOU! @MAREKKIREJCZYK