Awesome Web3

Awesome Web3

Awesome List

  • Solidity - Curated list of awesome Solidity resources, libraries, tools and more.
  • Ethereum - Awesome Ethereum & Dapps Resources.

Reference

  • BIPs - Bitcoin Improvement Proposals.
  • EIPs - Ethereum Improvement Proposals.
  • Ethereum Yellow Paper - Formal definition of the Ethereum protocol.
  • EVM Illustrated - Illustrated explanation of how EVM works under the hood.
  • EVM Opcodes - Low level reference for the EVM and a Solidity decompiler which turns bytecode into more readable Solidity-like code.
  • evm.codes - An interactive reference to Ethereum Virtual Machine Opcodes (source code).
  • Solidity - Solidity is an object-oriented, high-level language for implementing smart contracts.

Software Development

Sample Code

Development Environment

  • Brownie - Python-based development and testing framework for smart contracts targeting the Ethereum Virtual Machine.
  • Ethereum Code Viewer - View source of deployed Ethereum smart contracts in VS Code.
  • EthFiddle - Web-based IDE that lets you write, compile, and debug your smart contract.
  • Hardhat - Development environment to compile, deploy, test, and debug your Ethereum software.
  • Remix - Online IDE for Solidity development.

Protocol

  • WalletConnect - Open protocol connecting wallets to Dapps.
  • WalletLink - Open protocol that lets users connect their mobile wallets to your DApp.
  • IPFS - Distributed system for storing and accessing files, websites, applications, and data.

JavaScript

  • avalanchejs - JavaScript Library for interfacing with the Avalanche Platform.
  • Avalanche Wallet SDK - Typescript library to create and manage wallets on the Avalanche network.
  • BitcoinJS - Bitcoin library for node.js and browsers.
  • dapparatus - Reusable dApp components in React.
  • ethers.js - Complete Ethereum wallet implementation and utilities in JavaScript (and TypeScript).
  • ipfs-mini - Super tiny module for querying an IPFS node, that works in the browser and in Node.
  • js-ipfs - IPFS implementation in JavaScript.
  • Truffle - Development environment, testing framework and asset pipeline for Ethereum.
  • wagmi - React hooks library for Ethereum.
  • web3.js - Ethereum JavaScript API which connects to the Generic JSON-RPC spec.
  • web3-react - Simple, maximally extensible, dependency minimized framework for building modern Ethereum dApps.

Solidity

  • Date and Time tools - Contract which implements utilities for working with datetime values in ethereum.
  • OpenZeppelin - The standard for secure blockchain applications.

Go

  • avalanchego - Go implementation of an Avalanche node.
  • avalanche-network-runner - Tool to run and interact with an Avalanche network locally.
  • ava-sim - Helper tool to spin up a local instance of an Avalanche network to interact with the standard APIs or to test a custom VM.
  • ethereum-hdwallet - Ethereum HD Wallet derivations from seed which implements the go-ethereum's accounts.Wallet interface.
  • coreth - Code and wrapper to extract Ethereum blockchain functionalities without network/consensus, for building custom blockchain services.
  • geth - Official Go implementation of the Ethereum protocol.
  • subnet-cli - CLI tool to manage Avalanche Subnets.

C/C++

  • Trust Wallet Core - Cross-platform, mobile-focused library implementing low-level cryptographic wallet functionality for a high number of blockchains.

Rust

  • OpenEthereum - The fast, light, and robust client for the Ethereum mainnet.

Shell

  • avash - Avalanche shell client provides temporary stateful shell execution environment used to deploy networks locally, manage their processes, and run network tests.

Python

  • py-evm - Ethereum protocol implementation in Python.
  • Vyper - Contract-oriented, pythonic programming language that targets EVM.

VMs

  • evmone - C++ implementation of the Ethereum Virtual Machine (EVM), faster.
  • SpacesVM - SpacesVM enables authenticated, hierarchical storage of arbitrary keys/values using any EIP-712 compatible wallet.

Boilerplate

  • scaffold-eth - Ethereum dev stack focused on fast product iterations.
  • create-eth-app - Create Ethereum-powered apps with one command, similar to create-react-app.
  • next-web3-boilerplate - Boilerplate in TypeScript using Next.js, NextAuth.js, siwe, Web3modal, useDapp, next-i18next, reactMUI.

Testing

  • mock-contract - Simple Solidity contract to mock dependent contracts in truffle tests.
  • openzeppelin-test-helpers - Assertion library for Ethereum smart contract testing that you can use with hardhat.
  • solidity-coverage - Code coverage for Solidity smart-contracts.
  • Waffle - Library for writing and testing smart contracts.

Code Quality

  • Slither - Solidity static analysis framework, a suite of vulnerability detectors, prints visual information about contract details etc.
  • solhint - Solidity linter providing Security and Style Guide validations.

Open Source Project

  • Blockscout - Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
  • MetaMask - Browser extension of MetaMask crypto wallet.
  • Rabby - Browser extension crypto wallet for the DeFi ecosystem that works multi-chain.
  • Rainbow - Open source Ethereum wallet.
  • Remix - Browser-based compiler and IDE that enables users to build Ethereum contracts with Solidity language and to debug transactions.
  • UniSwap - Decentralized trading protocol on Ethereum.

Tutorial

  • useWeb3 - Learning platform for developers to explore and learn about Web3.
  • CryptoZombies - Interactive school that teaches you all things technical about blockchains.
  • Figment Learn - Tutorials for various use cases and networks, Avalanche, Solana, Polygon and more.
  • Buildspace - Cohort based web3 development courses, learn by building projects.
  • The complete guide to full stack Solana development with React, Anchor, Rust, and Phantom. - link
  • The complete guide to full stack Ethereum development. - link
  • Building a full stack NFT marketplace on Ethereum with Polygon. - link
  • Uploading files to IPFS from a web application. - link
  • Create your own NFT collection on Ethereum with Solidity. - link
  • Intro to dApp's: Create your dApp backend with Solidity. - link
  • Intro to dApp's: Create your dApp frontend with React. - link
  • What is a crypto wallet & how does it work? - link
  • Create your cryptocurrency token. - link
  • Solidity and Truffle CI setup. - link
  • How to use Slither to find smart contract bugs. - link
  • How to mock Solidity smart contracts for testing. - link
  • Building EVM from scratch. - link source code

YouTube Channel

  • Chainlink - Videos about blockchain basics, oracles, Free Code Camp and more.
  • EatTheBlocks - Numerous hands-on development tutorial videos on blockchain Solidity smart contracts.
  • Nader Dabit - Tutorials and live coding on dApps, NFTs, DeFi and more.
  • Patrick Collins - Smart contract development with Solidity.

Book

Podcast

Newsletter

Platform as a Service

Other

  • Chainlist - List of EVM networks, Chain IDs and Network IDs.

Contribute

Contributions are welcomed! Please read the contribution guidelines first.