HomeResourcesSmart Contract Tools and Practices

    Table of contents

    • Smart Contracts
    Smart Contracts

    The point of this course is very specifically NOT to overwhelm you with links we know you're more than capable of finding and using on your own. The truth is that there are a great many 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. That said, here are some really great educational resources:

    Beginner - getting started

    It can be difficult to know exactly where to get started in such a new field, with so many resources scattered around the web. We'll do our best to try and suggest a coherent path through all the different docs and tools that will move you from zero to hero over the course of the next few weeks.


    The best place to learn how to write a smart contract for beginners. There are some great new tutorials which will extend your skills.

    Dev Speed Run

    Tutorials, challenges and explainers for ethereum developers by everyone's favourite bowtie. A fantastic resource.

    OpenZeppelin Docs

    As close to an authoritative source of great code and good practices as this decentralized party will likely ever get.

    Solidity Intro

    The authoritative source for the most widely used smart contract language in the world.

    Learn XinY Minutes

    One of the faster ways to get familiar with Solidity. In fact, you can take scenic tours through all your favourite languages here...

    H/T Eman Herawy

    Solidity by Example

    Monkey see, monkey do. It's the time-tested way to learn.

    Less reading, more watching

    If reading through docs doesn't really work for you, here are two great intro-level youtube channels to help get you up to speed with the best practices for writing smart contracts.

    Will It Scale

    A little bit dated, but still the most revealing and educational Solidity playlist there is.


    A great YouTube channel for getting started with blockchain development.

    Dapp University

    Another YouTube channel community recommendation which will help you hone your web3 skillz.

    Smart Contract Programmer

    A good resource for Solidity 0.6.0 exploits and better patterns for your latest contracts.

    Intermediate - ready to play

    Now that you have some familiarity with what smart contracts are and how to begin writing them, here are two amazing tutorials/tools/playgrounds which can take your skills to the next level.


    An amazing set of tutorials by OpenZeppelin to improve your defensive coding. There is no better place to learn safe patterns for writing solid, secure code.


    Austin Griffith's amazing playground. Just check it out for yourself...

    Scaffold Eth

    Now that you've played in the sandbox, get down and dirty with all the awesome code.

    Moonshot Collective

    An intrepid group of talented software developers pushing the boundaries of what smart contracts can do.


    A detailed list of smart contract challenges linked to potential job opportunities for enterprising developers.

    The best lists

    Now that you have a good sense of not just how to write smart contracts, but some of the ways in which they can be attacked along with the best patterns for safe coding, you can find your own way through these lists of further resources given your own specific needs.

    Developer Resources

    The Ethereum Foundation's list of resources. Supposedly for those who are new, but there are many great tools here for everyone.

    Tools List

    Until recently one of the most well-maintained and comprehensive lists of developer resources and tooling in Ethereum.

    Truffle University

    H/T Eman Herawy.

    Advanced - tender patterns


    The best integrated web 3 developer toolkit we know of. All transactions, advanced debugging, stack traces, bespoke graphs, analytics, alerts and so much more.

    OpenZeppelin Contracts

    A well-respected repos for common patterns and practices. Here's an interesting TokenVesting implementation too.

    H/T Mike Ryan

    Consensys Best Practices

    A detailed set of instructions for writing safe code.

    H/T Nazzareno Massari

    Modular Libraries

    A great and highly useful set of modular libraries to speed up your development.

    H/T val

    Solidity Patterns

    An awesome resource for best practices and safe patterns to adopt in your smart contracts.

    H/T Eman Herawy

    Common Defi Contracts

    A great set of smart contracts used in common DeFi protocols that you can learn from and improve.

    H/T val

    More cryptic than crypto?

    One of the best introductions to cryptography our community knows.


    We're extremely lucky to have our friends Andrej and Bogdan at Tenderly offering all Kernel members a free pro membership to what we believe is the slickest Web 3 developer tooling in the industry. Please check the video of their session below to get a sense for everything this can do and then ping them to get access. It'll make writing, debugging, stack tracing, and really developing the guts of your contracts significantly easier.

    And, of course, no smart contract resources list would be complete without a recording of Austin Griffith breaking something in a live demo:


    The Man, the Bowtie, the Legend

    Design & Spec
    Security Best Practices