writing smart contracts
TRANSCRIPT
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)
CONTRACTS
SOLIDITY
▸ Object oriented language
▸ Complied to EVM
▸ Can send and receive ether
▸ Can be run on production, testnet or private net
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
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