awesome-solidity
⟠ A curated list of awesome Solidity resources, libraries, tools and more
https://github.com/xiaomingx/awesome-solidity
Last synced: 12 days ago
JSON representation
-
Editor Plugins
- uml2solidity - Model smart contracts with UML.
- emacs-solidity - Solidity mode for Emacs.
- company-solidity - Autocomplete with company-mode.
- intellij-solidity - Solidity plugin for IntelliJ.
- SublimeEthereum - Solidity syntax for SublimeText.
- solidity.vim - Vim compiler plugin.
- vim-solidity - Vim syntax file.
- ConsenSys/vscode-solidity-auditor - Language support and visual security auditor for Visual Studio Code.
- Ethereum Security Bundle - A meta-extension bundling marketplace plugins for secure Ethereum smart contract development.
- sol-profiler-vscode - Visual Code Extension to generate & store smart contract methods profile.
- Truffle for VS Code - Truffle for VS Code simplifies how you create, build, debug and deploy smart contracts on Ethereum and all EVM-compatible blockchains and layer 2 scaling solutions.
- ConsenSys/vscode-solidity-auditor - Language support and visual security auditor for Visual Studio Code.
-
Languages
- deno-web3/solc - Solidity bindings for Deno.
- solidity-parser - Solidity parser built in JavaScript.
- sulk - Configurable contract compilation.
- Soltsice - Generates strongly-typed TypeScript classes for contracts from Truffle artifacts with a single command.
- rust-ethereum/ethabi - Encode and decode smart contract invocations.
- ocaml-solidity - OCaml library providing a parser, a typechecker and miscellaneous utilities for manipulating contracts.
-
Libraries
- 0age/AttributeRegistry - 1616 Attribute Registry Standard - interface, tests and implementation.
- 0age/HomeWork - An autonomous utility for finding, sharing and reusing home addresses for contracts.
- 0age/Spawner - Spawn EIP 1167 minimal proxies with an included initialization step during contract creation.
- alexvansande/ENSTools - A set of contracts to extend ENS functionality to other smart contracts.
- Arachnid/solidity-stringutils - Basic string utilities for Solidity.
- dapp-bin - Ethereum repo providing implementations for many common data structures and utilities in Solidity, Serpent and LLL.
- dapphub/dappsys - Contract system framework for flexible multi-contract dapps.
- dmihal/hardhat-interface-generator - Hardhat plugin to automatically generate interfaces from code.
- gelatodigital/auto-top-up - Automatically top up multiple ETH addresses once their ETH balance falls below a certain threshold.
- ItsNickBarry/hardhat-abi-exporter - Export contract ABIs on compilation via Hardhat.
- Keydonix/uniswap-oracle - General purpose price feed oracle built on Uniswap v2 that uses merkle proofs under the hood.
- mattdf/RingCrypto - Ring signature related implementations for Ethereum.
- mds1/solidity-trigonometry - Library with basic trigonometry functions.
- Modular Libraries - Deployed utility libraries to use in your smart contracts.
- NTA-Capital/SolMATe - Libraries for floating-point matrix manipulation, linear algebra operations, and vector math.
- optionality/clone-factory - Simple clone contract factory. Install a master copy of a contract, then easily (cheaply) create clones with separate state.
- pcaversaccio/xdeployer - Hardhat plugin to deploy your smart contracts across multiple EVM chains with the same deterministic address.
- Smart Contracts Skeleton - Preconfigured skeleton repository for building or starting with development of Smart contracts.
- solana-labs/solana-solidity.js - Compile, deploy, and use contracts on Solana.
- Solidity Collections - Collections of code snippets and utility libraries.
- Solidity Standard Library - Standard library (Array, random, math, string).
- solidstate-network/solidstate-solidity - Upgradeable-first smart contract development library.
- truffle-assertions - Adds additional assertions and utilities used in testing smart contracts with truffle.
- Uniswap/merkle-distributor - Smart contract that distributes a balance of tokens according to a merkle root.
- wbobeirne/eth-balance-checker - Smart contract and library pair that allows you to check for multiple ERC20 and Ether balances across multiple addresses in a single RPC call.
- Unicode Ethereum Project - Libraries and contracts for Unicode data, algorithms, and utilities.
- rugpullindex/indexed-sparse-merkle-tree - Dapptools-ready and gas-optimized implementation of a sparse merkle tree.
- maple-labs/erc-20 - Maple implementation of the ERC-20 standard.
- 0xcert/ethereum-erc721 - Non-fungible token implementation for Ethereum-based blockchains.
- EthWorks/Waffle - Library for writing and testing smart contracts.
- mzhu25/sol2string - `LibUintToString` library for efficiently converting `uint256` values to strings.
- Uniswap/uniswap-v2-periphery - Peripheral smart contracts for interacting with Uniswap V2.
-
Resources
- Ethereum Wiki - The Ethereum Wiki.
- androlo/solidity-workshop - Comprehensive series of tutorials covering contract-oriented programming and advanced language concepts.
- cryptodevhub.io - Community-driven effort to unite like-minded people interested in Blockchain- and Crypto Technologies.
- manojpramesh/solidity-cheatsheet - Cheat sheet and best practices.
- Questbook - Questbook is building a University DAO where learning is always free. Starting with crypto-dev courses by leading devs.
- topmonks/solidity_quick_ref - Syntax overview.
- nishuzumi/Web3-Enterprise-level-engineering - Web3 Enterprise Engineering Writing Specification Tutorial [Chinese Language - 中文版].
- willitscale/learning-solidity - Complete guide on getting started, creating your own crypto, ICOs and deployment.
- useweb3.xyz/tutorials - A curated list of free, community tutorials that are based around specific projects, tasks or challenges.
- WTF Ethers - An open-source and community reviewed Ethers.js tutorial in Chinese covering intro and advanced topics [Chinese Language - 中文版].
- Best Practices for Smart Contract Development (yos.io, Yos Riady, 2019) - Developer handbook for smart contract developers.
- The Complete Guide to Full Stack Ethereum Development (dev.to, Nader Dabit, 2021) - Building Full Stack dApps with React, Ethers.js, Solidity, and Hardhat.
- How to create an ERC20 Token and a Solidity Vendor Contract (medium.com, Emanuele Ricci, 2021) - Create your own ERC20 Token and a Token Vendor Contract that will handle the sell/buy process.
- crytic/building-secure-contracts - Guidelines and training material to write secure smart contracts.
- crytic/not-so-smart-contracts - Examples of common vulnerabilities, including code from real smart contracts.
- Crypto-Virus/cream-finance-exploit-example - Example implementation of the Cream Finance flashloan exploit.
- d-xo/weird-erc20 - Minimal example implementations of ERC20 tokens with surprising/unexpected behaviour.
- OriginProtocol/security - Materials related to security: docs, checklists, processes.
- securing/SCSVS - Smart Contract Security Verification Standard.
- sigp/solidity-security-blog - Comprehensive list of known attack vectors and common anti-patterns.
- SunWeb3Sec/DeFiHackLabs - Reproduce DeFi hacked incidents using Foundry.
- Arbitrary Execution - Public security audits by the Arbitrary Execution Team.
- MixBytes - Public security audits by the MixBytes Team.
- Hacken - Public security audits by the Hacken Team.
- alephao/solidity-benchmarks - Benchmarks of popular implementations of ERC standards.
- cyrusadkisson/solidity-baby-steps - Comprehensive collection of contract examples.
- flashbots/simple-arbitrage - Example arbitrage bot using Flashbots.
- libevm/subway - A practical example on how to perform sandwich attacks on Ethereum.
- lsaether/bonding-curves - Smart contracts for bonding curves (aka curve bonded tokens).
- kauri.io - Archive of kauri community's content created with the goal to foster the spread of Ethereum development knowledge far and wide.
- m1guelpf/lil-web3 - Simple, intentionally-limited versions of web3 protocols & apps.
- pedrobergamini/flashloaner-contract - Smart contracts that operate arbitrages between Sushiswap and Uniswap.
- raineorshine/solidity-by-example - A collection of short yet fully-functional contracts that demonstrate language features.
- useWeb3 - Learn web3 development - A curated overview of the best and latest resources on Ethereum, Solidity and Web3 development.
- Abracadabra-money/magic-internet-money - Magic Internet Money (MIM) contracts.
- andrecronje/rarity - D20srd reference implementation.
- axieinfinity/ronin-smart-contracts - Axie Infinity Ronin contracts.
- bancorprotocol/contract-solidity - Bancor Protocol contracts.
- compound-finance/compound-protocol - Compound Protocol contracts.
- dharma-eng/dharma-smart-wallet - Smart wallet for earning interest on stablecoins while retaining custody of funds, with an added security backstop provided by Dharma Labs.
- graphprotocol/contracts - Graph Protocol Contracts.
- OlympusDAO/olympus-contracts - OlympusDAO contracts.
- sushiswap/kashi-lending - Kashi Lending platform contracts.
- Synthetixio/synthetix - Synthetix smart contracts.
- wyvernprotocol/wyvern-v3 - Core smart contracts for Wyvern v3, a decentralized digital asset exchange protocol.
- ethereum-boilerplate/ethereum-boilerplate - React components and hooks to build dApps fast without running your own backend.
- NodeFactoryIo/solidity-node-docker-starter - Github template with Docker containers for building dApps with Truffle and Node.js as backend server.
- rhlsthrm/typescript-solidity-dev-starter-kit - Starter kit for developing, testing, and deploying smart contracts with a full Typescript environment.
- wighawag/template-ethereum-contracts - Template to develop smart contracts.
- ZumZoom/solidity-template - Hardhat template with preconfigured Github Actions and Coveralls support.
- Blockchain in Action - Book that teaches the essential principles of blockchain and how to create your own decentralized apps.
- aworker.io - Job board for blockchain and cryptocurrency jobs.
- cryptojobslist.com - Job board for blockchain and cryptocurrency jobs.
- crypto.jobs - Job board for blockchain and cryptocurrency jobs.
- ethereum/solidity - Source code.
- trusttoken/smart-contracts - TrustToken smart contracts.
- gakonst/dapptools-template - Forkable template to get you started with Dapp Tools.
-
Tools
- Anish-Agnihotri/MultiFaucet - MultiFaucet drips ETH, tokens, and NFTs across many testnet networks, at once.
- create-truffle-dapp - CLI to create and deploy Truffle projects with no configuration.
- dapp-scratch - CLI for generating javascript modules from Contracts for Decentralized Apps.
- dapphub/dapptools - Command-line-friendly tools for blockchain development.
- eagr/sol-repl - Lightweight, feature-rich REPL for instant feedback.
- eth-brownie/brownie - Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
- instant-dapp-ide - Complete Dapp and Solidity development environment as a docker image you can run from command line.
- naddison36/sol2uml - Unified Modeling Language (UML) class diagram generator for smart contracts.
- raineorshine/solidity-repl - REPL CLI.
- SIF - Code generation from the AST, analyse and instrument source code.
- Smart Contract Sanctuary - A home for ethereum smart contracts, all verified smart contracts from Etherscan.
- solgraph - Visualize control flows for smart contract security analysis.
- sol-merger - Merges all imports into single file for contracts.
- solidity-docgen - Documentation generator for Solidity projects.
- tintinweb/solidity-shell - An interactive Solidity shell with lightweight session recording.
- weiroll/weiroll - A simple and efficient operation-chaining/scripting language for the EVM.
- Aniket-Engg/sol-profiler - CLI tool to list & store solidity smart contract methods attributes.
- Aniket-Engg/sol-verifier - Verify solidity smart contracts on Etherscan.
- Bytes32 Converter Online - Convert Solidity bytes32 to utf8 string or integers and vice versa.
- cleanunicorn/abi2signature - Use the ABI of a smart contract to find out the function signatures.
- DiverseSolutions/Diverse-Eth-Calculator - Website with Ethereum unit conversion & utility components.
- duaraghav8/Ethlint - Linter to identify and fix style & security issues in smart contracts.
- Ethereum Unit Converter - Online tool to convert the different ethereum denominations (wei, gwei, ether).
- ItsNickBarry/hardhat-contract-sizer - Output contract sizes with Hardhat.
- Online ABI Encoder - Online Solidity ABI Encoder to encode smart contract arguments, and also perform read and write operations on the blockchain.
- rkalis/truffle-plugin-verify - Truffle plugin to verify smart contracts on Etherscan and Sourcify from the Truffle command line.
- sambacha/prettier-config-solidity - Prettier config optimized to reduce AST churn & conform to the Solidity spec.
- Tenderly/tenderly-cli - Speed up your development with error stack traces.
- tintinweb/solgrep - A scriptable semantic grep utility for Solidity.
- a16z/metamorphic-contract-detector - Check whether a given contract exhibits red flags that could indicate the potential for metamorphism instead of immutability.
- Manticore - Detects many common bug types, and can prove correctness properties with symbolic execution.
- Mythril - Security analysis tool for smart contracts.
- eth-sri/securify2 - Tool for analyzing smart contracts for vulnerabilities and insecure coding.
- MythX - Detection for security vulnerabilities in Ethereum smart contracts throughout the development life cycle
- Moesif - Service that provides Ethereum smart contract analytics and anomaly detection for DApps and DAPIs.
- solidity-sizer - GitHub Action that adds a comment to the PR indicating the size of contracts, including size differences.
- Laika - Make requests to smart contracts without the hassle of writing a single line of code.
- dethcrypto/ethereum-code-viewer - View the source of deployed Ethereum contracts in VSCode.
- EthereumStudio - Standalone desktop IDE.
-
一、官方核心资源(权威基准)
-
七、必备库(避免重复造轮子)
-
三、深度文章与指南(体系化认知)
-
九、编辑器插件(提升编码体验)
-
二、入门到进阶教程(实战导向)
-
1. 入门友好(零基础/转岗开发者)
-
2. 进阶提升(有基础想深化)
-
3. 语法/工具速查(高效开发)
-
-
五、实战示例(从 demo 到生产级)
-
1. 教学示例(学思路)
-
2. 主网真实项目(抄作业)
-
-
八、开发工具(提效必备)
-
1. 核心开发工具
-
2. 代码质量工具
-
3. 运维与监控工具
-
-
六、开发模板(快速启动项目)
-
十一、经典书籍(体系化沉淀)
-
十、求职与学习进阶
-
1. 实战练习平台
- WTF Academy - SNARK 入门」),支持在线刷题。
-
2. 主流求职平台
-
Programming Languages
Categories
Sub Categories
Keywords
solidity
67
ethereum
66
smart-contracts
25
blockchain
18
evm
9
security
9
web3
8
truffle
7
dapp
7
defi
6
buidler
5
smart-contract
4
solidity-contracts
4
hardhat
4
solc
4
ethereum-contract
4
vyper
4
testing
4
eth
4
react
3
dapps
3
erc721
3
wow
3
abi
3
library
3
etherscan
3
nodejs
3
typescript
3
prettier
2
developer-tools
2
sol-profiler
2
program-analysis
2
parser
2
solidity-compiler
2
symbolic-execution
2
ethers
2
repl
2
cli
2
best-practices
2
strings
2
smart-contract-tools
2
erc20
2
deployment
2
merkle-tree
2
ether
2
nft
2
vscode-extension
2
static-analysis
2
bytecode
2
rust
2