explaingit

bkrem/awesome-solidity

7,028Audience · developerComplexity · 1/5Setup · easy

TLDR

A curated list of the best tutorials, tools, libraries, and security resources for learning and working with Solidity, the language used to write Ethereum smart contracts.

Mindmap

mindmap
  root((awesome-solidity))
    Learning
      Official docs
      Beginner tutorials
      Interactive platforms
    Security
      Vulnerability examples
      Audit tools
      Attack patterns
    Libraries
      Common patterns
      Reusable contracts
    Tools
      Compilers
      Testing frameworks
      Deployment tools
    Frontend
      JavaScript libs
      TypeScript libs
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Find beginner tutorials and interactive platforms to learn Solidity smart contract development step by step.

USE CASE 2

Discover security audit tools and vulnerability references to check your contracts before deploying on Ethereum.

USE CASE 3

Locate JavaScript and TypeScript libraries for connecting a web frontend to your deployed smart contracts.

Tech stack

SolidityEthereumJavaScriptTypeScript

Getting it running

Difficulty · easy Time to first run · 5min

In plain English

Awesome Solidity is a curated reference list for anyone learning or working with Solidity, the programming language used to write smart contracts on the Ethereum blockchain. A smart contract is a small program that runs on Ethereum and can hold funds, enforce rules, or automate agreements without needing a bank or middleman. This list collects tutorials, articles, libraries, tools, and editor plugins that cover the subject across multiple skill levels. The resources section covers official documentation and beginner-friendly tutorials, including interactive platforms where you learn by building a game or a decentralized app. Security gets its own section, with links to common vulnerability examples, attack pattern references, public audit reports, and training materials for writing safer contracts. The libraries section lists reusable code packages that implement common contract patterns. The tools section covers utilities for compiling, testing, and deploying contracts, plus audit tools for checking code for errors before it goes live. There are also sections for JavaScript and TypeScript libraries that help the frontend of an app communicate with contracts, along with editor plugins for popular code editors. The list is language-agnostic in its tooling recommendations, meaning it covers the broader Ethereum development ecosystem rather than Solidity alone. It is maintained on GitHub and contributions are accepted via pull request. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Based on the awesome-solidity list, suggest a learning path for a JavaScript developer who wants to write their first Ethereum smart contract.
Prompt 2
I want to audit a Solidity contract for common vulnerabilities. Which tools from the awesome-solidity list should I start with?
Prompt 3
What reusable Solidity libraries from the awesome-solidity list can I use to add ERC-20 token functionality to my contract?
Prompt 4
Which testing frameworks in the awesome-solidity list work best for unit testing Solidity contracts, and how do I set one up?
Open on GitHub → Explain another repo

← bkrem on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.