Blockchain-Ethereum-Solidity
Section 1 - What is Ethereum?
History
October 31, 2008 - Bitcoin: A Peer-to-Peer Electronic Cash System
- "White paper" describing a system to allow peer to peer payments without a financial intermediary (like a bank)
- Cited transaction reversals as an issue with online commerce - the ability of customers to 'charge back' a purchase
December 2013 - Ethereum: The Ultimate Smart Contract and Decentralized Application Platform
- "White paper" discusses need for more programmatic control over transactions
- Wanted to enable creation of 'decentralized autonomous corporations' (DAC)
- Introduces the idea of 'Smart Contracts' as an entity that can send and receive currency, beyond just humans
Original Bitcoin White Paper
- Bitcoin: A Peer-to-Peer Electronic Cash System (https://bitcoin.org/bitcoin.pdf)
- Ethereum: The Ultimate Smart Contract and Decentralized Application Platform (http://web.archive.org/web/20131228111141/http://vbuterin.com/ethereum.html)
What is Ethereum?
- Ethereum networks are used to transfer money and store data
- There are many different Ethereum networks
- Networks are formed by one or more nodes
- Anyone can run a node
- Each node can contain a full copy of the blockchain
- The 'blockchain' is a database that stores a record of every transaction that has ever taken place
Interfacing with Ethereum Networks
- Technologies For Developers - web3.js
- Technologies For Consumers - Metamask, Mist Browser
Metamask Setup
- Metamask for Chrome - https://chrome.google.com/webstore/detail/metamask/nkbihfbeogaeaoehlefnkodbefgpgknn?utm_source=chrome-ntp-icon
Ethereum Accounts
Account in Ethereum Network
- Account Address (like an email or username)
- Public Key
- Private Key
Ethereum Networks
- Main
- Ropsten
- Kovan
- Rinkeby
Receiving Ether
- Simulation of Receiving Ether - http://rinkeby-faucet.com/
What's a Transaction?
nonce | How many times the sender has sent a transaction |
to | Address of account this money is going to |
value | Amount of ether to send to the target address |
gasPrice | Amount of ether the sender is willing to pay per unit gas to get this transaction processed |
startGas/gasLimit | Units of gas that this transaction can consume |
v, r, s | Cryptographic pieces of data that can be used to generate the senders account address. Generated from the sender's private key |
Basic Blockchains
- Anders Brownworth Blockchain Demo - https://anders.com/blockchain/