[
  {
    "path": "README.md",
    "content": "# eth-dev-reading-list\nA list of links to articles, tutorials and papers that are helpful for people developing on the ethereum stack\n\n## Tutorials (beginner friendly)\n  1. [Hello world - greeter contract](https://ethereum.org/greeter)\n  2. [Truffle first dApp tutorial](http://truffleframework.com/tutorials/pet-shop)\n  3. [Smart contracts for noobs](https://medium.com/@ConsenSys/a-101-noob-intro-to-programming-smart-contracts-on-ethereum-695d15c1dab4)\n  4. [The Hitchhiker’s Guide to Smart Contracts in Ethereum](https://blog.zeppelin.solutions/the-hitchhikers-guide-to-smart-contracts-in-ethereum-848f08001f05)\n  5. [Getting Up to Speed on Ethereum](https://medium.com/@mattcondon/getting-up-to-speed-on-ethereum-63ed28821bbe)\n  6. [The ultimate end-to-end tutorial to create and deploy a fully decentralized Dapp in ethereum](https://medium.com/@merunasgrincalaitis/the-ultimate-end-to-end-tutorial-to-create-and-deploy-a-fully-descentralized-dapp-in-ethereum-18f0cf6d7e0e)\n  7. [Ethereum for Web Developers](https://medium.com/@mvmurthy/ethereum-for-web-developers-890be23d1d0c)\n  8. [Full Stack Hello World Voting Ethereum Dapp Tutorial](https://medium.com/@mvmurthy/full-stack-hello-world-voting-ethereum-dapp-tutorial-part-1-40d2d0d807c2)\n  9. [Getting started with Ethereum & Solidity on Windows — part 1](https://medium.com/@wslyvh/get-started-with-ethereum-solidity-on-windows-1672e9953a1)\n  10. [Getting started with Ethereum, Solidity & Geth — part 2](https://medium.com/@wslyvh/getting-started-with-ethereum-solidity-geth-part-2-d195144fe6c7)\n  11. [Solidity workshop - detailed resource](https://github.com/androlo/solidity-workshop)\n  12. [Youtube channel - detailed course on solidity language](https://www.youtube.com/channel/UCaWes1eWQ9TbzA695gl_PtA)\n  13. [Web developer, welcome to Ethereum](http://cfd.net.au/article/web-developer-welcome-ethereum-tue-10242017-0307.html)\n  14. [React & Ethereum getting started](https://medium.com/gitconnected/https-medium-com-zubairnahmed-react-ethereum-getting-started-with-the-minimum-toolset-required-part-1-of-4-9562efa23d18)\n  15. [Build Your Ethereum Project with Create Eth App](https://www.paulrberg.com/create-eth-app-intro/)\n  16. [Designing the architecture for your ethereum application](https://blog.zeppelin.solutions/designing-the-architecture-for-your-ethereum-application-9cec086f8317)\n  17. [Crypto Zombies](https://cryptozombies.io/)\n  18. [Solidity idiosyncrasies](https://github.com/miguelmota/solidity-idiosyncrasies)\n  19. [Ethereum Development with Go](https://goethereumbook.org/)\n\n## Security\n  1. [Solidity docs security considerations](https://solidity.readthedocs.io/en/develop/security-considerations.html)\n  2. [ConsenSys best practices](https://github.com/ConsenSys/smart-contract-best-practices)\n  3. [Zeppelin smart contract security](https://blog.zeppelin.solutions/onward-with-ethereum-smart-contract-security-97a827e47702)\n  4. [Winners solutions of underhanded solidity contest](https://medium.com/@weka/announcing-the-winners-of-the-first-underhanded-solidity-coding-contest-282563a87079)\n  5. [Problems with tx.origin](http://vessenes.com/tx-origin-and-ethereum-oh-my/)\n  6. [Golem short address token bug](https://blog.golemproject.net/how-to-find-10m-by-just-reading-blockchain-6ae9d39fcd95)\n  7. [DAO hack explained](http://hackingdistributed.com/2016/06/18/analysis-of-the-dao-exploit/)\n  8. [Parity wallet hack explained](https://blog.zeppelin.solutions/on-the-parity-wallet-multisig-hack-405a8c12e8f7)\n  9. [Vitalik thoughts about security and listing some known exploits](https://blog.ethereum.org/2016/06/19/thinking-smart-contract-security/)\n  10. [King of the ether secuirty checklist](https://www.kingoftheether.com/contract-safety-checklist.html)\n  11. [King of the ether exploit](http://www.kingoftheether.com/postmortem.html)\n  12. [Guide how to audit solidity contracts](https://medium.com/@merunasgrincalaitis/how-to-audit-a-smart-contract-most-dangerous-attacks-in-solidity-ae402a7e7868)\n  13. [Attacks on ethereum contracts - 30min video and detailed paper](https://www.cryptologie.net/article/423/attacks-on-ethereum-smart-contracts/)\n  14. [2nd Parity Multisig hack](https://medium.com/chain-cloud-company-blog/parity-multisig-hack-again-b46771eaa838)\n  15. [Smashing the EVM for Fun and Extensibility](https://medium.com/mimir-blockchain/smashing-the-evm-for-fun-and-extensibility-ff36c2d7b389)\n  16. [Malicious backdoors in ethereum proxies](https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357)\n  17. [What fomo3ds real exit scam might look like](https://medium.com/@epheph/what-fomo3ds-real-exit-scam-might-look-like-ac5794f72099)\n\n## General\n  1. [Ethereum wiki - white paper, yellow paper and just pure gold information about ethereum](https://github.com/ethereum/wiki/wiki)\n  2. [Ethereum docs](http://www.ethdocs.org/en/latest/)\n  3. [How does Ethereum work, anyway?](https://medium.com/@preethikasireddy/how-does-ethereum-work-anyway-22d1df506369)\n  3. [When to use revert/require/assert](https://media.consensys.net/when-to-use-revert-assert-and-require-in-solidity-61fb2c0e5a57)\n  4. [Introduction to events and logs](https://media.consensys.net/technical-introduction-to-events-and-logs-in-ethereum-a074d65dd61e)\n  5. [Payment channel with 50 lines of code](https://medium.com/@matthewdif/ethereum-payment-channel-in-50-lines-of-code-a94fad2704bc)\n  6. [Reducing eth gas arrays -> bytes](https://medium.com/@billyrennekamp/reducing-eth-gas-23x-by-converting-arrays-to-bytes-ccf3b46daea5)\n  7. [Understanding oracles](https://blog.oraclize.it/understanding-oracles-99055c9c9f7b)\n  8. [Building an Oracle](https://medium.com/@mustwin/building-an-oracle-for-an-ethereum-contract-6096d3e39551)\n  9. [Oraclize docs](https://docs.oraclize.it/)\n  10. [Hash table attacks and how does mapping work](https://hackernoon.com/are-ethereum-contracts-vulnerable-to-hash-table-poisoning-attacks-a4d9241e16c4)\n  11. [What it takes to create a successful ICO?](https://medium.com/@merunasgrincalaitis/what-it-takes-to-create-a-successful-ico-how-expensive-it-is-your-complete-guide-35912722351e)\n  12. [The Faults and Shortcomings of the EVM](http://earlz.net/view/2017/08/13/0451/the-faults-and-shortcomings-of-the-evm)\n  13. [Economics of Fees and Gas](http://earlz.net/view/2017/10/02/1550/economics-of-fees-and-gas)\n  14. [Spificator a usability pattern for dapps](https://blog.ambrosus.com/spificator-a-usability-pattern-for-dapps-1ae52de94ec1)\n  15. [Diving into EVM - series of articles](https://medium.com/@hayeah/diving-into-the-ethereum-vm-6e8d5d2f3c30)\n  16. [Basic of solidity opcode and bytecode](https://medium.com/@blockchain101/solidity-bytecode-and-opcode-basics-672e9b1a88c2)\n  17. [Upgradable smart contract](https://medium.com/aigang-network/upgradable-smart-contracts-what-weve-learned-at-aigang-b181d3d4b668)\n  18. [Smart contract interaction](https://www.zupzup.org/smart-contract-interaction/)\n  19. [Ethereum Gas, Fuel and Fees](https://media.consensys.net/ethereum-gas-fuel-and-fees-3333e17fe1dc)\n  20. [Calling precomplies from solidity](https://medium.com/@rmercer/precompiles-solidity-e5d29bd428c4)\n  21. [Understanding ethereum trie](https://easythereentropy.wordpress.com/2014/06/04/understanding-the-ethereum-trie/)\n  22. [Web3-by-Example - Repo of simple scripts for web3](https://github.com/ThatOtherZach/Web3-by-Example)\n  23. [Ethereum in depth by OpenZeppeling  - Part 1](https://blog.zeppelin.solutions/ethereum-in-depth-part-1-968981e6f833)\n  24. [Ethereum in depth by OpenZeppeling  - Part 2](https://blog.zeppelin.solutions/ethereum-in-depth-part-2-6339cf6bddb9)\n  25. [Ethereum explained by Pegasus team](https://pegasys.tech/ethereum-explained-merkle-trees-world-state-transactions-and-more/)\n\n## Improvements\n  ### Scaling in general\n   1. [Conceptual description of Layer 2 scaling solutions: State channels, Plasma, Truebit](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4)\n   2. [Bridges, Plasma and UTXO tokens](https://blog.gridplus.io/bridges-plasma-and-utxo-tokens-e1244c8b1824)\n\n  ### Sharding\n   1. [Ethereum Sharding: Overview and Finality](https://medium.com/@icebearhww/ethereum-sharding-and-finality-65248951f649)\n   2. [Sharding FAQ](https://github.com/ethereum/wiki/wiki/Sharding-FAQ)\n   3. [Sharding docs](https://github.com/ethereum/sharding/blob/develop/docs/doc.md)\n\n  ### Plasma\n   1. [White paper](http://plasma.io/)\n   2. [Plasma explained in 10min](https://medium.com/chain-cloud-company-blog/plasma-in-10-minutes-c856da94e339)\n   3. [Smart Contracts on Plasma - Christian Reitwiessner (65 min. presentation)](https://www.youtube.com/watch?v=KzyqzEtEc3I)\n   4. [Token contracts on Plasma](https://medium.com/@chriseth/token-contracts-on-plasma-or-a-tale-about-local-and-global-invariants-e37fadba150)\n   5. [Scaling ethereum with plasma - Joseph Poon](https://www.youtube.com/watch?v=plf-kG8jt9c)\n   6. [Reading the plasma withepaper](https://www.youtube.com/watch?v=jvlunzEl_so)\n   7. [BankEx plasma implementation](https://github.com/BankEx/PlasmaETHexchange)\n   8. [Minimum Viable Plasma specification and discussion](https://ethresear.ch/t/minimal-viable-plasma/426)\n   9. [OmiseGo Plasma implementation](https://github.com/omisego/plasma-mvp)\n   10. [Central repository for Plasma implementors](https://github.com/ethereum-plasma)\n\n  ### State channels\n   1. [State channels wiki](https://github.com/ledgerlabs/state-channels/wiki)\n   2. [Learn channels](https://www.learnchannels.org/)\n\n# Discussions\n\n  ### State channels\n   1. [Raiden 101](https://raiden.network/101.html)\n   2. [State channels](http://www.jeffcoleman.ca/state-channels/)\n   3. [Fun fair turing complete state channels](https://funfair.io/approach-turing-complete-state-channels-part-1/)\n   4. [An Introduction to State Channels in Depth](https://www.youtube.com/watch?v=MEL50CVOcH4)\n   5. [Counterfactual for dummies](https://medium.com/blockchannel/counterfactual-for-dummies-part-1-8ff164f78540)\n   6. [Etherships and state channels](https://blog.decenter.com/2018/08/07/introducing-etherships-using-state-channels-scale-ethereum-games/)\n\n  ### Plasma\n   1. [Plasma chat room on Gitter](https://gitter.im/ethereum/plasma)\n   2. [Plasma implementors video calls](https://www.youtube.com/channel/UCG2MeKuKDJRK4gFNk-dQuZQ)\n   3. [Learn Plasma - website explaining Plasma](http://www.learnplasma.org/docs/intro.html)\n\n  ### Proof of Stake\n   1. [Casper PoS & Smart Contract Consensus Overview (90 min. overview)](https://www.youtube.com/watch?v=MyDocEQfBGA)\n   2. [Overview done again with new changes](https://www.youtube.com/watch?v=uQ3IqLDf-oo)\n   3. [PoS FAQ](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ)\n   4. [Casper vs Tendermint](https://blog.cosmos.network/consensus-compare-casper-vs-tendermint-6df154ad56ae?gi=84b66da5939f)\n   5. [Casper 101](https://medium.com/@jonchoi/ethereum-casper-101-7a851a4f1eb0)\n\n  ### Privacy\n   1. [Introduction to zk-snarks](https://media.consensys.net/introduction-to-zksnarks-with-examples-3283b554fc3b)\n\n  ### General\n   1. [Research discussion forum](https://ethresear.ch/)\n\n## Ens\n  1. [Devs guide to ENS](https://medium.com/the-ethereum-name-service/a-developers-guide-to-ens-concepts-7004eea8a073)\n  2. [Ens docs](https://docs.ens.domains/en/latest/)\n  3. [How to buy an ENS domain](https://medium.com/the-ethereum-name-service/a-beginners-guide-to-buying-an-ens-domain-3ccac2bdc770)\n\n## Ipfs\n  1. [Introduction to ipfs, overview and technical stuff](https://medium.com/@ConsenSys/an-introduction-to-ipfs-9bba4860abd0)\n  2. [Short 10min high level overview of IPFS](https://www.youtube.com/watch?v=BA2rHlbB5i0)\n  3. [Distributed apps with ipfs 40min lecture by creator](https://www.youtube.com/watch?v=jONZtXMu03w)\n\n## Tools\n  1. [Remix online IDE](https://remix.ethereum.org/)\n  2. [Metamask - browser plugin to conect with ethereum](https://metamask.io/)\n  3. [Truffle dev framework testing and running dApps](http://truffleframework.com/)\n  4. [Embark framework to develop and test dApps](https://github.com/iurimatias/embark-framework)\n  5. [HEVM - emv for debugging](https://github.com/dapphub/hevm)\n  6. [DAPP - framework for testing and building dApps (lightweight)](https://github.com/dapphub/dapp)\n  7. [Solgraph - Generates a DOT graph that visualizes function control flow of a Solidity contract](https://github.com/raineorshine/solgraph)\n  8. [Solium - Linter to identify and fix style & security issues in Solidity](https://github.com/duaraghav8/Solium)\n  9. [Solidity linter](https://github.com/protofire/solhint)\n\n## Explorers and Stats\n  1. [Etherscan](https://etherscan.io/)\n  2. [Etherchain](https://www.etherchain.org/)\n  3. [Trivial - token explorer](https://www.trivial.co/)\n  4. [DappBoard - The analytics platform for Ethereum's smart contracts.](http://dappboard.com/)\n  5. [Dapp radar - list of dapps with stats](https://dappradar.com/)\n  6. [Dapp track - list of dapps with stats](https://dapptrack.com/)\n  7. [World of contracts - Interface for interacting with smart contracts](https://yippee-ki-yay.github.io/WorldOfContracts/)\n\n## Jobs & bounties\n  1. [Ethlance - dApp for jobs paid in eth](https://ethlance.com/)\n  2. [Gitcoin - bounties for open source projects](https://gitcoin.co/)\n  3. [Status Open Bounties](https://openbounty.status.im/app)\n  4. [Repo for bounty hunts](https://github.com/JGcarv/ethereum-bounty-hunters/issues)\n  5. [Solidified - Auditing platform for smart contracts](https://www.solidified.io/)\n\n## Other cool lists\n  1. [Awesome solidity - resource about solidity](https://github.com/bkrem/awesome-solidity)\n  2. [Awesome ethereum](https://github.com/toadkicker/awesome-ethereum)\n  3. [Awesome makerdao](https://github.com/makerdao/awesome-makerdao/blob/master/README.md)\n\n\n"
  }
]