Whether you’re just learning how what blockchains work, or want to dive into core concepts of Ethereum and Smart Contracts, or are looking for ready-to-use examples, this is the place to start.

NOTE: This Guide is still Work in Progress. Want to add something to this list? Let us know here!

Explanation for Beginners (What the heck it is and why do we need it)

Ethereum for Dummies: Explanation for an Average Internet User
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.

Explanation for Techies

How does Ethereum work, anyway?
Odds are you’ve heard about the Ethereum blockchain, whether or not you know what it is. It’s been in the news a lot lately, including the cover of some major magazines, but reading those articles…
This is how Ethereum works
The Ethereum blockchain is probably the most evolved yet complex blockchain system ever created. If you are not familiar with blockchain technology, and even less with Ethereum, feel free to read…
ETH2… For Dummies
Anyone who’s followed Ethereum for a while knows its development history is riddled with broken promises, missed deadlines, and spotty communication about its future plans. This has caused many to…
Getting Deep Into Ethereum: How Data Is Stored In Ethereum?
In this post, we will see how states and transactions are stored in Ethereum and how it is different from Bitcoin.
Getting Deep Into EVM: How Ethereum Works Backstage
This post is a continuation of my Getting Deep Into Series started in an effort to provide a deeper understanding of the internal workings and other cool stuff about Ethereum and blockchain in general which you will not find easily on the web.
How to Write Upgradable Smart Contracts (Smart Contract Versioning)
Smart contracts are immutable [https://en.wikipedia.org/wiki/Immutable_object], by design. On the other hand, software quality heavily depends on the ability to upgrade and patch source code to produce iterative releases. Even though blockchain-based software profits significantly from the technolog…

For the in-depth study the best resource is always here:

ethereum/wiki
The Ethereum Wiki. Contribute to ethereum/wiki development by creating an account on GitHub.

Learn smart contract development

#1 Solidity Tutorial & Ethereum Blockchain Programming Course | CryptoZombies
CryptoZombies is The Most Popular, Interactive Solidity Tutorial That Will Help You Learn Blockchain Programming on Ethereum by Building Your Own Fun Game with Zombies — Master Blockchain Development with Web3, Infura, Metamask & Ethereum Smart Contractsand Become a Blockchain Developer in Record Ti…
OpenZeppelin
The standard for secure blockchain applications.
dapphub/dappsys
Composable building blocks for Ethereum contracts. Contribute to dapphub/dappsys development by creating an account on GitHub.

Smart contract development platforms

Sweet Tools for Smart Contracts | Truffle Suite
World class development environment for blockchain dapps (decentralized applications) and smart contracts. Learn blockchain programming with our training courses & seminars. Trusted by Microsoft, Shapeshift and more!
EthWorks/Waffle
Library for writing and testing smart contracts. Contribute to EthWorks/Waffle development by creating an account on GitHub.
embark-framework/embark
Framework for serverless Decentralized Applications using Ethereum, IPFS and other platforms - embark-framework/embark

Security Tools

MythX: Smart contract security tool for Ethereum
Detect security vulnerabilities in your Ethereum smart contracts throughout the development life cycle. Analyze Solidity dapps for security holes and known smart contract vulnerabilities. Help make Ethereum a more saecure platform.
trailofbits/manticore
Symbolic execution tool. Contribute to trailofbits/manticore development by creating an account on GitHub.
melonproject/oyente
An Analysis Tool for Smart Contracts . Contribute to melonproject/oyente development by creating an account on GitHub.

Local Testnets

trufflesuite/ganache-cli
Fast Ethereum RPC client for testing and development - trufflesuite/ganache-cli
Ganache | Truffle Suite
Deploy contracts, develop your decentralized applications (dapps), and run tests on smart contracts. Available as a desktop application & command-line tool.

Layer 2

Difference Between SideChains and State Channels
State Channels and Sidechains are the two terms in Ethereum community that are often used interchangeably, thus causing mass confusion. But today we will get it clear. Go make a cup of coffee first, it’s going to be a long one. The purpose of this article is to clearly define: * What are State …

Ethereum Developer Tools List

ConsenSys/ethereum-developer-tools-list
A guide to available tools and platforms for developing on Ethereum. - ConsenSys/ethereum-developer-tools-list

Ethereum Discussion Forums

Ethereum Research
Civilized discussion furthering Ethereum research
Fellowship of Ethereum Magicians
A self-organized Fellowship within the Ethereum community to maximize technical opportunities, share ideas, and work together effectively across national, organizational and other boundaries.