Solidity Documentation - Solidity is the most widely used programming language for Ethereum smart contracts. The official documentation provides comprehensive information on how to write smart contracts in Solidity.
OpenZeppelin - OpenZeppelin is a library of reusable smart contracts for Ethereum. It provides secure and audited contract templates that you can use in your own projects.
CryptoZombies - An interactive coding school that teaches you how to write Ethereum smart contracts in Solidity through a series of fun and engaging lessons.