Getting Started for Newbies

Ethereum - Getting Started for Newbies (byThetta.io microcompany tokenization platform)

Ethereum - smart contracts run on top of Ethereum Virtual Machine. Each state change is “saved” to the blockchain, but not to the memory of the single computer.

Very good list of Blockchain resources is available here (but don’t stop to read this document!) -https://a16z.com/2018/02/10/crypto-readings-resources/

Book#1 - Mastering Bitcoin: Programming the Open Blockchainbook

**Very good book that is must read for any blockchain developer. Currently Ethereum uses same crypto-consensus algorithm, just like Bitcoin does. There is no necessity to read the whole book, you can skip chapters and sections.

[https://www.amazon.com/Mastering-Bitcoin-Programming-Open-Blockchain/dp/1491954388**](https://www.amazon.com/Mastering-Bitcoin-Programming-Open-Blockchain/dp/1491954388)

Book#2 - Introducing Ethereum and Solidity

https://www.amazon.com/Introducing-Ethereum-Solidity-Foundations-Cryptocurrency/dp/1484225341/

https://www.dropbox.com/s/c0pzi0fv51ow66w/Ethereum.pdf?dl=0

Articles to read

In English

https://medium.com/blockchannel/tools-and-technologies-in-the-ethereum-ecosystem-e5b7e5060eb9

http://candidtim.github.io/ethereum/2016/03/24/ethereum-quick-start.html

http://blockgeeks.com/guides/what-is-ethereum/

Ethereum smart contracts guide is available here - https://github.com/ethereum/guide

https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-2-30b3d335aa1f

PoS - https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ

In Russian

https://habrahabr.ru/company/alfa/blog/323070/

https://habrahabr.ru/company/microsoft/blog/323548/

https://habrahabr.ru/company/neobit/blog/324456/

Workshops

What to do next?

  1. Research the https://www.myetherwallet.com - generate new wallet

    • export the wallet to JSON

    • load the JSON

    • send or receive test transaction (say, 0.00000001 ETH)

  2. Create coinbase account -very easy way to keep you crypto (but please don’t keep a lot! you can loose your money, because the service is centralized; also it can be hacked).

  3. Check how block Explorer works -http://etherscan.io/ - see you transaction

    • check your transactions

    • switch between mainnet and testnet

  4. install geth and start it from your console

  5. install parity and start it from your console (kovan or rinkeby testnet) + connect from the browser

  6. Install Mist (Ethereum Wallet) and start syncing it with the mainnet (can take more than 100+ GB on your hdd)

    • create new account

    • check how smart contract deployment works

  7. MetaMask chrome add-on

  8. Brave web-browser

  9. DApp vs ordinary web app

  10. Infura.io

Terms

  • Miner

  • Node

  • Lightnode, different modes

  • Lightwallet

  • Blockcain sync

  • Consensus

  • PoW, PoS, (D)PoS, Raft/Paxos

  • Differences between decentralization and distributed systems

  • DHT (torrents)

  • Block, basic structures

  • MIner’s fee, rewards

  • Coinbase-tx

  • Public/private keys

  • Lightning network/Raiden

  • Segwit

  • 51% attack

  • Transaction Maleability attack

  • Sybil attack

  • Eclipse attack

  • Blockchain bloat attack

  • Sharding

  • Plasma

  • Zero-Knowledge Proofs

Questions

  1. Will for cycle (read-only iteration) eat gas?

  2. What if the method throws - will gas be eaten?

  3. What if you specified low gaslimit value?

  4. Why new solc version requires ‘payable’ modifier to be specified? Even if no money-consuming operations occur inside the fallback.

  5. Contract address and account address have different formats?

  6. What is PoA (Kovan)?

  7. Is Byzantine generals problem solved?

  8. What happens if you send ETH from the wallet that is not synced?

  9. How to check if address is contract? https://github.com/ethereum/yellowpaper/issues/320

Smart contract examples

Awesome smart contract style

Lightning Network

Notable ERCs

  1. ERC721 (non-fungible token, CryptoKitties) -https://github.com/ethereum/EIPs/issues/721

  2. ERC223 (tokenFallback - receiving tokens callback) -https://github.com/ethereum/EIPs/issues/223

Vulnerabilities

Upgradeability

Last updated