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.
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
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?
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)
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).
Check how block Explorer works -http://etherscan.io/ - see you transaction
check your transactions
switch between mainnet and testnet
install geth and start it from your console
install parity and start it from your console (kovan or rinkeby testnet) + connect from the browser
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
MetaMask chrome add-on
Brave web-browser
DApp vs ordinary web app
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
Will for cycle (read-only iteration) eat gas?
What if the method throws - will gas be eaten?
What if you specified low gaslimit value?
call vs send? What can be called in thefallback functionof the contract? http://ethereum.stackexchange.com/questions/765/what-is-the-difference-between-a-transaction-and-a-call http://ethereum.stackexchange.com/questions/6470/send-vs-call-differences-and-when-to-use-and-when-not-to-use
How to send tx in the Parity, if it stuck? https://kovan.etherscan.io/address/0xdf8845a26e1db43236e591a863289ad5c1fcda5a
Why new solc version requires ‘payable’ modifier to be specified? Even if no money-consuming operations occur inside the fallback.
Contract address and account address have different formats?
How to startprivatenode? https://blockgeeks.com/how-to-setup-an-ethereum-private-node/
What is PoA (Kovan)?
Is Byzantine generals problem solved?
What happens if you send ETH from the wallet that is not synced?
How to execute arbitrary binary code? Is it even possible? https://github.com/ChainCloud/jibrel-contracts/blob/master/contracts/feature/bytecode/BytecodeExecutor.sol
How to get string hash? https://github.com/ChainCloud/jibrel-contracts/blob/master/contracts/feature/assetid/AssetID.sol
How to pass arrays/strings between contracts? https://gist.github.com/AnthonyAkentiev/68c90721d062b7b21879af7b74b1e95e
pure? view? staticcall? https://medium.com/blockchannel/state-specifiers-and-staticcall-d50d5b2e4920
How to check if address is contract? https://github.com/ethereum/yellowpaper/issues/320
Smart contract examples
Cloneable -https://github.com/Giveth/minime
Awesome smart contract style
Lightning Network
Links
Trusted Relay Networks (By Consensys) -https://blog.gridplus.io/introducing-trusted-relay-networks-6c168f72a6f6
Notable ERCs
ERC721 (non-fungible token, CryptoKitties) -https://github.com/ethereum/EIPs/issues/721
ERC223 (tokenFallback - receiving tokens callback) -https://github.com/ethereum/EIPs/issues/223
Vulnerabilities
Upgradeability
Last updated