awesome-solidity
A curated list of awesome Solidity resources
https://github.com/BlockchainLabsNZ/awesome-solidity
Last synced: 1 day ago
JSON representation
-
Getting Started
-
- Airdrops
- HD Wallet explained
- What's Solidity?
- Building a fully decentralized User profile app on Ethereum and IPFS
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- The Hitchhiker's Guide to Smart Contracts
- part1 - crud-part-2-ed8d8b4f74ec), [part3](https://medium.com/robhitchens/solidity-crud-epilogue-e563e794fde)
- Airdrops
- Airdrops
- Airdrops
- Airdrops
- Airdrops
-
Concepts
-
Tutorials
- Building a fully decentralized User profile app on Ethereum and IPFS
- Kauri - to-date tutorials and tips on How to build on Ethereum
- Ethernaut - Smart Contract Hacking Game
- Hack This Contract Game
- Ethereum and Solidity: The Complete Developer's Guide
- Become a Blockchain Developer with Ethereum and Solidity
- Creating your own DAO based on Aragon framework
- Test Driven Development for Solidity
- What's Solidity?
-
Short answers to some questions
-
News
-
Blogs
-
-
Vulnerabilities
-
- known attacks
- 1
- 2 - analysis-of-a-couple-ethereum-honeypot-contracts-5c07c95b0a8d)
- Integer Overflow (i.e., proxyOverflow Bug)
- The DAO Hack
- Parity Wallet Hack
- How $800K Evaporated from PoWH Ponzi
-
Blogs
- 2 - analysis-of-a-couple-ethereum-honeypot-contracts-5c07c95b0a8d)
- 1
- known attacks
-
Known hacks
-
-
Best practices
-
Security
-
Gas spending
-
Common design principles
-
ERCs
- ERC-20 - original token contract for fungible assets [ [The Anatomy of ERC20](https://medium.com/blockchannel/the-anatomy-of-erc20-c9e5c5ff1d02) / [Example](https://theethereum.wiki/w/index.php/ERC20_Token_Standard) ]
- ERC Token Standards for Dummies, Like Me
- ERC Token Standards for Dummies, Like Me
- ERC-165 - creates a standard method to publish and detect what interfaces a smart contract implements
- ERC-173 - a standard interface for ownership of contracts
- ERC-223
- ERC-721 - token standard for non-fungible assets [ [Walking Through the ERC721 Full Implementation
- ERC-725 - proxy contract for key management and execution, to establish a Blockchain identity
- ERC-827
- ERC-875 - for non fungible tokens and simple atomic swaps
- ERC-918 - mineable Token Standard
-
Other
-
EIPs
-
-
Libraries
-
Standard contracts
- OpenZeppelin Base Tokens
- OpenZeppelin Contracts
- MiniMe Token
- Gnosis MultiSig
- cryptofin-solidity - A collection of Solidity libraries for building secure and gas-efficient smart contracts on Ethereum.
- Modular Libraries - A group of packages built for use on blockchains utilising the Ethereum Virtual Machine
- DateTime Library - A gas-efficient Solidity date and time library
- Token Libraries with Proofs - Contains correctness proofs of token contracts wrt. given specifications and high-level properties
- Status.im Crowdsale
- 0x - DEX protocol
- OpenZeppelin Base Tokens
- Aragon - DAO protocol. Contains [aragonOS smart contract framework](https://github.com/aragon/aragonOS) with focus on upgradeability and governance
-
Utils
- Solidity String Utils
- SafeMath
- Easily Send Many Tokens to Many Addresses
- BytesHelper - library to deal with bytes32
-
-
Code and patterns examples
-
Utils
- BDD approach in testing
- Solidity Security Exploits - Entrancy, Denial of Service - Gas, Denial of Service - Revert, Force Ether - selfdestruct, Storage Allocation Exploit, Underflow / Overflow, Re-Entrancy Honey Pot, Function Call Honey Pot[Explanations here](https://medium.com/@alexsherbuck/two-ways-to-force-ether-into-a-contract-1543c1311c56)
- Bitwise Operations and Bit Manipulation in Solidity, Ethereum
- Memory vs Storage & How to initialize an array inside a struct
- Multisig contracts
- Self-balancing binary search trees - BST adapted for Solidity and EVM
- Not so smart contracts
- BDD approach in testing
-
-
Tools
-
Development tools
- Docker images - env) - Solidity testing environment from us (Blockchain Labs, NZ)
- Solidity syntax highlighting on Github
- pocketh
- solc-select
- ethers.js
- eth-cli
- Solidity Doc generator
- 11 Best Ethereum Development Tools
- pocketh
- Docker images - env) - Solidity testing environment from us (Blockchain Labs, NZ)
-
Online services
-
Test Ether faucets
-
Storage
- Infura API - Another API to IPFS
- Filecoin
- Infura API - Another API to IPFS
- OrbitDB - Decentralised database on top of IPFS
- TEMPORAL - Easy to use API into IPFS and other distributed/decentralised storage protocols
- IPFS-Store - IPFS Storage service with added search capability
-
Utils
- ConsenSys' Tools List - A great list of frameworks, patterns, and tools from ConsenSys
-
Testing tools
- Truffle
- Solhint
- Solidity Function Profiler - Analysis report of function signatures, visibility, return values, and modifiers.
- TestRPC
-
-
Dapps development
-
Online services
-
Private networks
- Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
- Private networks deployment scripts - Out-of-the-box deployment scripts for private PoA networks
- Parity Demo-PoA Tutorial - Step-by-Step tutorial for building a PoA test chain with 2 nodes with Parity authority round consensus
-
React / Redux
- Vortex - A Dapp-ready Redux Store. Smart and Dynamic background data refresh thanks to WebSockets. Works with Truffle and Embark.
- React boilerplate
- Drizzle - Redux library to connect a frontend to a blockchain
- React Truffle Box
-
APIs / subproviders
- Eth.js - Javascript Web3 alternative
- Web3Wrapper - Typescript Web3 alternative
- Ethereumjs - A collection of utility functions for Ethereum like ethereumjs-util and ethereumjs-tx
- Subproviders - Several useful subproviders to use in conjunction with Web3-provider-engine (including a LedgerSubprovider for adding Ledger hardware wallet support to your dApp)
- Nethereum - .Net Web3
- Web3.hs - Haskell Web3
- web3-webpacked - JS framework to manage web3 injection
- elm-ethereum
- purescript-web3
- Web3.py - Python Web3
- Web3.php - PHP Web3
- Ethereum-php - PHP Web3
- Web3j - Java Web3
- Ethereum.rb - Ruby Web3
- Pyethereum - The Python core library of the Ethereum project
- EthContract - A set of helper methods to help query ETH smart contracts in Elixir
- web3-webpacked - JS framework to manage web3 injection
- web3swift - Swift Web3
- KEthereum - Kotlin Web3
- Ethereumex - Elixir JSON-RPC client for the Ethereum blockchain
-
Design
-
Programming Languages
Categories
Sub Categories
APIs / subproviders
20
Utils
13
Standard contracts
12
Blogs
12
Online services
11
ERCs
11
Development tools
10
Concepts
9
Tutorials
9
Storage
6
Known hacks
5
Gas spending
5
React / Redux
4
Common design principles
4
Testing tools
4
Private networks
3
EIPs
3
Security
2
Short answers to some questions
2
News
2
Test Ether faucets
2
Other
2
Design
1
Keywords
ethereum
12
solidity
8
smart-contracts
4
blockchain
2
security
2
library
2
gas
2
web3
2
golang
1
i2p
1
infrastructure
1
ipfs
1
ipfs-cluster
1
ipns
1
pinning
1
storage
1
swarm
1
temporal
1
ethereum-swarm
1
data
1
web3js
1
functional-programming
1
ethereumjs
1
elm-lang
1
elm
1
solhint
1
security-scanner
1
linter
1
developer-tools
1
dapp
1
code-quality
1
ast
1
evm
1
vote
1
minimetoken
1
minime
1
ruby
1
parity
1
web3php
1
web3-php
1
php-interface
1
php
1
ethereum-php-library
1
ethereum-php
1
ethereum-client
1
token
1
proof
1
formal-verification
1
erc20
1
coq
1