The point of Kernel is not to overwhelm you with lists of links. The truth is that there are a great many coding tools out there, each of which makes different trade-offs and will be better or worse depending on your needs and context. This is what mentors are for: we recommend you spend more time picking their brains than scrolling through endless awesome lists of half-maintained, experimental tools.
Rather than recommending specific IDEs, standards, editors, best practices or anything of the like, this page is intended to help you sharpen your Solidity skills. We know there are many different approaches to smart contracts, and we know that Solidity has its problems, but it is the most widely used and the most accessible to current web developers and so it remains our focus here.The Direct Path¶
There are, of course, many paths to smart contract nirvana. We will present many of them on this page, but here is the shortest way we know to ongoing mastery:
Beginner - CryptoZombies. You know nothing about smart contracts or solidity. This interactive course will get you up to speed with basic concepts.
Beginner - Eth.build. An educational sandbox for web3 which lets you code with blocks, much like in Scratch. Of course, you can do really awesome things with this tool, but it is a wonderful, visual programming tool which will help you develop an intuition for how smart contracts work, and how different the environment in which they live really is.
Novice - Will It Scale. This is still our favourite series of YouTube tutorials, and it will introduce you to the Remix IDE and a whole host of much deeper concepts in Solidity. While watching videos rather than coding is generally not that useful, this will give you much more context for what is to come.
Novice - Smart Contract Programmer. Another wonderful YouTube channel you can learn a great deal from without any frills or hype.
Intermediate - Ethernaut. This starts out simple, but contains many wonderful challenges and surprises for those more familiar with Solidity and the global, public context in which smart contracts live. You can find a detailed walk-through of the first twelve challenges in our Outsmarting Contracts guild.
Intermediate - Speed Run Ethereum. A set of in-depth tutorials currently being built out which leverage the scaffold-eth framework. The framework is specifically intended for quick experimentation. It's worth checking out all the branches in that repo for lost of different code relevant to everything from NFTs to exchanges and beyond.
Advanced - Moonshot Collective. You'll notice that continuing to do tutorials and toy examples will not get you passed the intermediate stage. If you want to master any skill, eventually you have to dive into unexplored parts of the ocean and shoot for the stars, without caring too much about what people will think of your mixed metaphors or strange commits.
Along with the Solidity docs themselves, this is as close to an authoritative source of great code and good practices as our decentralized party will likely ever get.
While we specifically avoid these kinds of lists in Kernel, if you are the sort of person who is looking for a breadth of detail and all of the various possible tools, standards and best practices being developed across the globe, then this section is for you.
As the focus in our Resources section is interdisciplinary, it's worth noting that you can find a some more wonderful lists - and the kind of careful, step-by-step, conservative approach it implies - in our Security page.
Now that you have walked many of the ways through the dark forest, you may breathe out (the literal meaning of 'nirvana') a sigh of relief. But only for a moment! For the true masters act without a trace and - in order to achieve such exalted states of being - we need to investigate some of the further reaches of research and cryptography.
Again, given the interdisciplinary focus here, insightful documents which are not tools can be found in the Research section.
"The circom tooling I use the most. Hover over variables to see the values."
H/T Justin Glibert
Circom & SnarkJS
Of course, no smart contract resources list would be complete without a recording of Austin Griffith breaking something in a live demo while wearing a bowtie: