Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Ethereum for node.js devs

Raul Pino
November 18, 2016

Ethereum for node.js devs

Introduction to the protocol itself, what is a blockchain and a smart contract. Live coding on how to develop a decentralised application (dApp) using node.js. As a conclusion I'll try to "handle the truth" about Ethereum's expectations on the world of distributed communications, and why node.js devs should care.

Presented in NodeConf Argentina 2016 - https://2016.nodeconf.com.ar/pino.html
Video: https://www.youtube.com/watch?v=fonQGjC-Cs0
Example: https://github.com/p1nox/intro_ethereum

Raul Pino

November 18, 2016
Tweet

More Decks by Raul Pino

Other Decks in Technology

Transcript

  1. Who am I? » Born in Venezuela » Living in

    Chile » uBiome » Groupon Latam » Like Distributed Systems » <3 asado, sorrentinos, choripanes, chimichurri 2
  2. What is Ethereum? » Is it Oblivion? » No. “Ethereum

    is a computer.” Dr. Gavin Wood (DevCon1 2015) » Gigawhat? (˽°□°҂˽Ɨ ˍʓˍ 5
  3. What is Ethereum? “Is a public blockchain-based distributed computing platform,

    featuring smart contract functionality.” (Wikipedia) 6
  4. What is Ethereum? “It provides a decentralized virtual machine, the

    Ethereum Virtual Machine (EVM), that can execute peer-to-peer contracts using a cryptocurrency called ether.” (Wikipedia) 7
  5. Ethereum concepts: » Ether » Blockchain » Smart Contract »

    Ethereum Virtual Machine » Decentralized Application (dApp) 8
  6. Ether Is the cryptocurrency itself. It is a form of

    payment made by the clients of the platform to the machines executing the requested operations. Related to Gas, cost of transactions over network. 9
  7. Blockchain Is a distributed database. Each record is a block.

    Each block have a timestamp and a link to a previous block. Entire history of all transactions on the network. 10
  8. Smart Contract Is kind of the protocol implemented in the

    network by a dApp. There are some languages used, but the most popular is Solidity. 11
  9. Ethereum Virtual Machine It refers to the blockchain, the miners/clients.

    "The computer" that executes smart contracts. Backend of dApps. 12
  10. Decentralized Application (dApp) UI to decentralized backend (smart contracts and

    blockchain, EVM). Old EthAcademy - https:// dappsforbeginners.wordpress.c om/ Truffle *** - http:// truffleframework.com/ 13
  11. Ethereum --properties According to Dr. Wood: » Slow: Code runs

    5-100x slower that natively compiled. » Expensive to use: Basic computation, memory and storage costs are ~1950s leves. » Not always immediately decisive: Actions of last 60s may be reorganised. 16
  12. Ethereum ++properties According to Dr. Wood: » Truly global singleton:

    One computer for the entire planet now and forever. » Ubiquitous: Wherever there's internet, there's Ethereum. » Cannot fail, be stopped, be censored: No authority, resistant to attack. 17
  13. So Ethereum is like ...Matambre! A blockchain of meat, where

    is surrounded by peers, which uses a social contract, to get a consensus how to consume it, to... "Kill hunger" for decentralization. 18
  14. Takeaways Ultimate goal: “A decentralized web would give power back

    to the people online” Matthew Hodgson (matrix.org in TC) 20
  15. Takeaways “Threats to the Internet, such as companies or governments

    that interfere with or snoop on Internet traffic, compromise basic human network rights.” Tim Berners-Lee 21
  16. Interesting links and resources: State of the dApps Ethereum for

    Dummies - (DEVCON1) Ethereum FAQ ConsenSys/Ethereum-Development-Best-Practices Ethereum 101 Truffle MetaCoin Example 22