I do not know anything. Where do I start?
Instead of re-hashing content which has been written about before, we instead provide a curated list of topics that we'll assume familiarty with from the reader.
-
How does Ethereum work?
-
Basic Solidity (to write smart contracts):
- CryptoZombies: A gentle introduction to Solidity via an interactive code school.
- Solidity Documentation: The documentation is always up to date with the latest Solidty changes and syntax. It provides a great end-to-end description of the language. You MUST have read this resource in its entirety.
- Solidity by Example: A tour through Solidity's syntax via a set of illustrative examples.
- Learn Solidity in Y minutes One-page example on Solidity's syntax.
- Solidity Cheatsheet A cheatsheet.
-
Hardhat & Typescript (to develop and test locally):
- Hardhat Documentation: Hardhat is a smart contract development framework providing utilities for compiling, testing and deploying smart contracts written in Solidity with Javascript (JS) and Typescript (TS).
- Ethers.js Documentation: Ethers.js is the most widely used and flexible development library for interacting with Ethereum from JS and TS
- Typescript cheatsheet: We will be using TS instead of JS in order to leverage types to make our code more robust.
- Solidity Template: An opinionated Hardhat + TS repository set up including boilerplate and other popular tools
-
Smart contract patterns (to learn about the fundamental smart contract building blocks):
- Solidity Patterns (code): A curated list of patterns which you will encounter in the wild.
- OpenZeppelin (code): A library of secure smart contracts ranging from access control, tokens, governance, proxies and more.
-
Smart contract security (to learn about the mistakes others before you made): We emphasize the need to be familiar with the concepts in the links below. Security must be the number one priority in any smart contract developer's mindset.
- Smart Contract Security Best Practices A timeless must-read resource on "how to write secure smart contracts".
- Reports by security auditors: