LAST UPDATED IN OCTOBER 2018
When I first started to learn Ethereum a few years ago, there were almost no learning resources. Nowadays, even though there are more resources available, it’s still difficult to find good and up-to-date tutorials.
I spent TENS of hours reviewing and compiling a list of the best learning resources / tutorials for Ethereum Dapps a& Solidity smarts contracts. I keep it regularly updated, removing links that become irrelevant and adding new ones. In the end, you will find a list of 105 links, grouped by categories:
- Youtube channels
- Corporate Training
- Official Documentations
- Other Lists
- Other Bitcoin / Blockchain
Some people prefer to learn with video tutorials, and Youtube is great for that. While most of the channels about Ethereum and Blockchain are for investors, there are still a few that focus on technical topics only.
If you want to get some detailed reviews of these youtube channels, read my article on what are the Best Youtube Channels to learn Ethereum Dapp development
- What’s Solidity
- Dapp University
- What the func
- Ethereum Foundation
- Dan Lipert
- Code Expert
- DappCon Berlin
Compared to other learning resources, courses generally make you build a full project from A to Z. That’s probably where you going to learn the most.
However, I would like to give you a quick word of advice. Some courses focus only on teach you Solidity and Smart Contracts. That’s probably going to be incomplete, because you will still need to integrate with your smart contract to a web frontend in order to be useful. What you need is a course that teach you how to integrate both in a Dapp. Focus on courses that teach you how to build a full-fledged Ethereum Dapp instead of just a Solidity smart contract.
- Ethereum Dapps In Motion – that’s my course, yeah!!!
- Ivan On Tech Academy
- Bit Degree
- Solidity Programming for Beginners
- Compile your first smart contract
- Udemy -Grider Stephen Grider Course
- Udemy – Ethereum Game Development
- Udemy – Programming languages for smart contracts
- Udemy – Ethereum Masterclass. Build real world projects
- Udemy – Become a Blockchain developer with Ethereum and Solidity
- Udemy – Ethereum development course at Berkeley
- Ethereum: Decentralized Application & Development
- Ethereum Blockchain
- Ethereum Smart Contracts for Beginners
These courses are on the more expensive scale. For example. B2Labs charge north of 1000 USD for some of their courses. Clearly not for individual developers, but rather more appropriate for companies who want to train whole team.
Quite a few books about Ethereum, Dapps & Solidity have popped up in 2018. You need to . I recommend sticking to reputable editors who have a strict editing process (O’Reilly, Manning). For other, make sure to check out the background of the author and only reviews. Finally, make sure to buy a book published recently or updated. It’s more difficult to update a book and they tend to become outdated more quickly.
- Learn Ethereum Dapps – that’s my book, yeah!!!
- Building Ethereum Dapps
- Ethereum Builders
- Introducing Ethereum & Solidity
- Mastering Ethereum
- Learn Solidity from scratch
- Truffle Quick Start Guide
- Solidity: Essential Guide
- Build your first Ethereum Dapp
- Building Blockchain Projects
These are blogs I like to follow for keeping up-to-date with the latest developments in Ethereum and Solidity.
These are written tutorials that teach you either how to program in Solidity or how to build a full-fledged decentralized application (Dapp).
- Build A ToDo List Ethereum Dapp
- Learn X in Y Minutes
- Hitch hiker guide to Ethereum Smart Contracts
- Official Ethereum tutorial
- Writing robust smart contracts
- OpenZeppelin – Onward with Ethereum smart contract security
Communities are a great way to get some help if you get stuck somewhere or if you just want to ask for some opinions on what is. It’s also a great way to test your skills by trying to answer other people questions. Finally, it can be a good idea for make friends or even find your new job!
- Stack Exchange
- Solidity Gitter
- Truffle Gitter
- Dapp Dev Slack
- [Telegram – EatTheBlocks]
- Telegram – Solidity devs
- Facebook – Solidity developers
- Facebook – Dapp developers
- Facebook – Beginner Ethereum developers
Your learning journey would not be complete without also learning about the tools, framework and libraries.
These are other list of learning resources created by other people. I generally like the Awesome lists found on Github, and tend to be more cautious with other “recommended” lists. Some of them are written by third-party affiliates who want to sell you some course so that they can get a sales commission. You can generally figure out if that’s the case if you notice weird query strings appended at the end of links (like ?click-site=http://affiliatewebsite.com…)
- Github – Awesome Solidity
- Github – Awesome Solidity (by Blockchain Labs)
- Github – Blockchain for software engineers
- Medium – Top Solidity Tutorials – by Coinmonks
- Top tutorials to learn Ethereum Solidity
- Best courses for learning Solidity and Dapps
- Quora – Are there free Ethereum developer course
- Quora – Where do I learn about blockchain
- Quora – What are the best resources (books, blogs, articles, websites) to Ethereum platform
- Reddit – Any advice on learning to code in Ethereum
Beside Ethereum itself, you might also want to learn about the underlying Blockchain that powers Ethereum. The Blockchain is a more technical topic than decentralized applications on top of Ethereum, so expect to go through more computer science kind of stuffs.
- Programming Blockchain – Jimmy Song famous course on Bitcoin
- Bitcoin Dapps
- O’Reilly – Mastering Bitcoin – Free book also available
- Manning – Grokking Bitcoin
- Coursera – Blockchain basics
- EDX – Blockchain & Cryptography
- Codementor – Learn Blockchain
- EOS Bootcamp
These used to be great resources but unfortunately there were written a long time ago and/or not updated with the latest development of Ethereum and Solidity. Some of them even went offline. The reason I am mentioning these is that I found them often mentioned in recommendations to learn Ethereum programming but that should not be the case: