Learning Resources
Resources for getting into Web3 development
Introduction
This respository aims to put forward a curated pathway, from no coding experience at all, to seasoned veterans of multiple languages. The end goal of traversing these resources, is a position of readiness to develop decentralised applications on the Ethereum platform.
Disclaimer: This list is curated by volunteers, and the only thing they get from you progressing through this list is warm and fuzzies. There are many resources which we have omitted purely becuase we don't know about them. If you'd like to add anything, please feel free to submit a Pull Request.
Contents
- I know nothing about Ethereum
- I have never written any code
- I have dabbled in code but I consider myself a massive noob
- I have written a few useful scripts
- I have never used JavaScript
- I would consider myself proficient with JavaScript
- I have never seen Solidity code
- I have written some Solidity but never for production
- I have written production level Solidity before
I know nothing about Ethereum
Ethereum is a distributed, decentralised computer.
This is a pretty good introductory video
If you really wanna go deep on theory, here's a crowdsourced reading list containing a bunch of links to talks/papers/articles which explain Ethereum concepts in more details.
I have never written any code
Excellent. If you'd tried to learn to code a few years ago, it wouldn't be as easy. There are some great resources out there for getting started really quickly. CodeAcademy's Introduction to JavaScript comes well recommended.
I have dabbled in code but I consider myself a massive noob
Self awareness is a highly desirable trait. If you're still on the fringes of coding, you're probably again a good candidate for CodeAcademy's Introduction to JavaScript.
I have written a few useful scripts
Baller. If you've done them in a language other than JavaScript, you might want to have a quick run through CodeAcademy's Introduction to JavaScript, but if you reckon you're going to conquer that too easily, head on down to CryptoZombies.
I have never used JavaScript
CodeAcademy's Introduction to JavaScript. If you reckon that's too easy and you're just looking to jump right into Solidity: CryptoZombies.
I would consider myself proficient with JavaScript
I have never seen Solidity code
This Hacknoon 5-part series on Smart Contract development is very very comprehensive, and you'll probably find yourself dipping in and out of it, but a few people have mentioned that it does a very good job of explaining the concepts necessary to build successful dapps.
I have written some Solidity but never for production
First you'll want to set up your environment for development. We'll need node
and npm
.
NodeJS - This comes with NPM by default
Truffle - And highly recommend Ganache
I have written production level Solidity before
Sweet. You probably don't need any of the tutorials in this file, but if you've never used Truffle I would highly recommend it.
Some things to think about (you may have done all of these too):
- Automated tests (far more fun and rewarding than it sounds)
- Writing a frontend for your dapps (React seems to be the framework of choice for most dapps)
- Writing some open source React Components
Any other project ideas? Submit a PR!