I wrote an article on freeCodeCamp a few years back on how I learned blockchain as a software developer. After my last video interview about blockchain on my channel, I reviewed the recommendations I made in that article and, while they are still good, I want to add a few more resources here.
You can watch my recent interview about blockchain development with Daniel Lomelino here:
Books
With the growth in popularity of blockchain, there have been a lot of books published that cover the basics of how blockchains work, how they can be used, and hype you up with possibilities. Some of these are good, but there is only so much hype you can read before you are left wanting more. I recommend watching YouTube videos like this one about the possible use cases of blockchain technologies and reading some books that can provide a deeper dive.
- Blockchain Basics by Daniel Drescher
- The Truth Machine by Paul Vigna and Michael J. Casey
- Mastering Ethereum by Andreas M. Antonopoulos and Gavin Wood
- Mastering Bitcoin by Andreas M. Antonopoulos
- The Starfish and the Spider by Ori Brafman and Rod A. Beckstrom
- Serious Cryptography: A Practical Introduction to Modern Encryption by Jean-Philippe Aumasson - I will warn you that this is not an easy read. You will probably have to stop many times to do additional research, but it will give you a deep understanding of how cryptography really works.
YouTube Channels
Channels for understand blockchain development:
- Eat the Blocks - This is a great channel to watch if you are getting started in blockchain development. He covers Ethereum, Solidity, and some front-end development that relates to interfacing with smart contracts.
- freeCodeCamp - They have published several good blockchain videos on their YouTube channel.
Here are some more channels to understand blockchain more generally:
- 99 Bitcoins - Covers more than just Bitcoin.
- Finematics - Focuses mainly on explaining DeFi.
Courses
I still highly recommend you go through CryptoZombies when you are starting out. It's a fun way to learn how to create smart contracts for Ethereum and they have added a lot of new material over the last few years.
- Udacity Blockchain Developer Course - A few years ago, I went to a blockchain bootcamp that was being offered by an online teacher and content creator. The course itself was not great, but the people in the community that I connected with were amazing and I learned a lot from working with them on side projects. We pushed each other to study and learn. However, if I could go back, I would have chosen to go through a course like this Udacity one. It's made by a reputable company and the other two bootcamps I have gone through on Udacity were both really well made.
- Brilliant.org - They have some great courses, practice problems, and articles about cryptography and game theory. I subscribe to this website for their math and computer science problems too.
Projects
To truly understand how blockchain development works, it's really important to build your own projects. Here are a few that I recommend starting with:
- Build your own blockchain. You can do this in Python or JavaScript or any other language. Start with a block, then chain it together. Build a simple version and then you can add more features like nonces and consensus mechanisms. This will really give you a deep understanding of how things work.
- Create your own cryptocurrency. I recommend starting with ERC20 or ERC721 and using it on an Ethereum test network. There are thousands of tutorials online on how to do this.
- Interact with real smart contracts and data via blockchain APIs. You can use API services like Morallis or GetBlock to practice on their free tier. You can see an example of one I built several years ago here.
- See more project ideas here
Platforms
These are blockchain platforms that I recommend starting with:
- Ethereum - No introduction needed here. This is the original blockchain made for developing decentralized applications and is still the most popular to build on.
- Hyperledger - They have many different projects under the Hyperledger umbrella. Try setting up Fabric or another project and use it to learn about private/permissioned blockchains.
- Cosmos - A great one to get started with to understand cross-chain protocols.
- Algorand - Newer general purpose blockchain platform that also addresses scalability and has a growing and active community.
- Cardano - The Cardano blockchain was designed to be a flexible and scalable solution for building blockchain Dapps. It has been around for a while (although their smart contract platform just recently launched) and is still growing in popularity; they even had their own in-person/virtual conference recently which was a huge success.
Did I miss anything in this list of recommendations? Let me know in my Discord chat: https://discord.gg/FYXuwQvh4z
Check out my YouTube channel and Twitch streams for more related content.
😁🤗❤️