Skip to content

BlockchainLabsNZ/awesome-solidity

Repository files navigation

Awesome Solidity

Awesome

Contributing

Contributors are our favourite people, but we also love you readers too, thank you!

Index


Getting Started


Vulnerabilities


Best practices

Security

Gas spending

Common design principles

ERCs

EIPs

Other


Libraries

Standard contracts

Utils


Code and patterns examples


Tools

Check ConsenSys' Tools List - A great list of frameworks, patterns, and tools from ConsenSys

Testing tools

  • Truffle – Truffle is a development environment, testing framework and asset pipeline for Ethereum, aiming to make life as an Ethereum developer easier.
  • TestRPC – Fast Ethereum RPC client for testing and development.
  • Solhint – Solidity linter that provides security, style guide and best practice rules for smart contract validation.
  • Solidity Function Profiler - Analysis report of function signatures, visibility, return values, and modifiers.

Development tools

Test Ether faucets

Storage

  • IPFS - Decentralised storage and file referencing
    • IPFS-Store - IPFS Storage service with added search capability
    • OrbitDB - Decentralised database on top of IPFS
    • JS IPFS API - A client library for the IPFS HTTP API, implemented in JavaScript.
    • TEMPORAL - Easy to use API into IPFS and other distributed/decentralised storage protocols
    • Infura API - Another API to IPFS
  • Swarm - Distributed storage platform and content distribution service, a native base layer service of the Ethereum web3 stack
  • Filecoin – "DECENTRALIZED MARKET FOR STORAGE". Blockchain on top of IPFS

Online services


Dapps development

Helpful information about Dapps.

Design

Private networks

  • Local Raiden - Run a local Raiden network in docker containers for demo and testing purposes
  • 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
  • Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
  • Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing

React / Redux

APIs / subproviders

Javascript

  • Web3.js - Javascript Web3
  • Eth.js - Javascript Web3 alternative
  • Ethers.js - Javascript Web3 alternative, useful utilities and wallet features
  • 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)
  • web3-webpacked - JS framework to manage web3 injection

Other languages