Resources for getting into Web3 development
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.
- I know nothing about Ethereum
- I have never written any code
- I have dabbled in code but I'd 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
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.
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.
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.
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.
CodeAcademy's Introduction to JavaScript. If you reckon that's too easy and you're just looking to jump right into Solidity: CryptoZombies.
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.
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
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!