I started investing in cryptocurrencies last year, and just kept going down the blockchain rabbit hole from there. Where I live especially, much of the blockchain community is focused on things like trading and investing in cryptocurrencies. Although it was fun to invest at first, I wasn’t so interested in that. So I started my own local meetup group to focus on blockchain development.
The meetup group allowed me to connect and learn alongside members of the community, and I’ve used that to compile a list of resources that I, and the other members, have found useful. These resources are arranged from the most basic blockchain explanations to the underlying systems as well as building applications on top of the blockchain.
There is a lot of noise out there. I hope this helps you make sense of it all if you are interested in becoming a blockchain professional.
Table of Contents:
- Learn the basics
- Dapp Development with Ethereum
- Game Theory
- Audio/Supplementary Materials
- Other Types of Blockchain Development
The Basics — How Blockchain Technologies Work
It can take a minute to wrap your head around the complexities of blockchain technologies. This technology encompasses so many different fields: computer science, game theory, cryptography, and economics just to name a few. Thus it’s difficult to initially learn the ins and outs of how it all works.
Here are a few resources that I think give a good, clear overview of how blockchain really works.
- Start with this video breaking down how it works:
2. Watch both videos here (there is some overlap with the prior resource, but it will cement the concepts in your mind) and play around with the demo on the site:
A live blockchain demo in a browser.anders.com
3. Read the Chapter “What is Ethereum” from the GitHub book, “Mastering Ethereum”
Dapp Development with Ethereum
There are many different blockchains now that allow you to create applications and smart contracts. Ethereum is by far the most popular option, with Solidity being its dominant programming language. I suggest trying out building dapps with these technologies first.
By far the best way to learn to code with Solidity is Cryptozombies. It’s an interactive coding environment that teaches you how to program Solidity step by step while building a zombie game! It’s kept up to date with new versions of Solidity too, which is hard to come by in the ever-changing blockchain space.
If you want something in addition to Cryptozombies, here are two other recommendations I have for learning solidity:
- Youtube video series for dapp development — This channel explains things very well, but the syntax isn’t totally up to date so you might have to google some things if you are getting errors. The Remix editor he uses will give you hints about what you need to change, so you should be fine.
- Stephen Grider on Udemy — this is a paid course, but you can get a deal for ~$9.99 USD and it has good examples and content.
After you finish Cryptozombies, it’s a good idea to learn how to use the Remix IDE for creating, debugging, and deploying contracts. The docs have a quick start and lots of step-by-step instructions with screenshots to get you going.
You should also learn about Ethereum clients and wallets. Those links will explain everything you need to know. Metamask is a browser plugin and a great way to get started (it’s for Chrome or Firefox, but the Chrome one seems to work much better).
Next, learn more advanced smart contract development. Start by reading the Solidity documentation. It goes into more advanced concepts and has some good example dapps, too. Ethereum.org also had some good dapp examples to look through like this one. You can copy the examples straight into the Remix IDE and test them out for yourself.
After you have a good grasp on Solidity and smart contracts, start looking through some open source examples. The default go-to seems to be Crypto Kitties (you can see the contract code at any Ethereum address at etherscan.io), but there are many more that can be great learning tools. You can search GitHub and Etherscan to find more.
There is a lot of development going on in the Ethereum space around developer tools and security. Here are some awesome libraries and tools along those lines that you can check out:
Some of the problems that blockchain aims to solve are from game theory, most notably The Byzantine Generals Problem. This problem deals with consensus between many different parties without having to trust that any individual is not malicious.
The Great Courses Plus offers an excellent lecture series on various topics in game theory. They have a monthly subscription model with a two-week free trial. The 24 30-minute lectures cover a broad range of topics in game theory, and I think it’s great for an overall understanding of the subject.
I am definitely not an expert here, but I am continuously learning about how cryptography works and how it can be applied to blockchain. This area does get really deep into the math, as Ethereum and many other blockchains use Eliptical Curve Cryptography.
As a noob in this space, here are some resources I have found useful:
- Coursera Cryptography I — Free to audit the course; paid if you want a certificate.
- Chapter on Cryptography in the Ethereum Mastery book
Audio Supplementary Material
- Podcast: Software Engineering Daily, Blockchain — This is my favorite blockchain podcast. They do a very good job at explaining complex topics and have a variety of industry leaders on the show.
- Podcast: CryptoDisrupted — The host brings in a lot of guests from interesting projects in the blockchain space. I’ve enjoyed most of what I’ve listened to with this podcast.
Other Types of Blockchain Development
The Ethereum community has, by far, the most developers and learning resources, so it’s a good place to get started with blockchain development. I think you would be remiss if you did not explore other innovation in the space, however. Below are some interesting projects.
EOS — The creator, Dan Larimer, had built several other successful blockchain solutions before starting this project. EOS is supposed to solve some of the problems with Ethereum, like scaling and security. It’s sometimes called, “The Ethereum Killer”.
Interchain Protocols — These are some solutions that help facilitate transactions between different blockchains and also have interesting solutions to help blockchain scale:
Hyperledger — An open source collaborative effort created to advance cross-industry blockchain technologies. It’s hosted by The Linux Foundation.
Holo — A post-blockchain technology that attempts to solve the issues of scalability and centralization in today’s blockchain technologies.
Research & Current Development
Once you learn the basics, it’s so important to read research papers to achieve mastery in the blockchain space. Here are some places where I have had success:
- The Morning Paper — Blockchain Articles
- Collection of whitepapers from ICOs
I will be continuously studying blockchain development and trying to find new and interesting solutions. Please leave a comment or message me if I am missing anything here.
Right now, I am planning more articles about companies, projects, and people of interest in the blockchain space. Follow me if you are interested in any of these things.