Developer Tools
A guide to available tools, components, patterns, and platforms for developing applications on EVM-compatible chains
Last updated
A guide to available tools, components, patterns, and platforms for developing applications on EVM-compatible chains
Last updated
Solidity - The most popular smart contract language.
Metamask - Browser extension wallet to interact with Dapps.
Truffle - Most popular smart contract development, testing, and deployment framework. Install the cli via npm and start here to write your first smart contracts.
Truffle boxes - Packaged components for the Ethereum ecosystem.
Hardhat - Flexible, extensible and fast Ethereum development environment.
Foundry - Smart contract development toolchain. Foundry manages your dependencies, compiles your project, runs tests, deploys, and lets you interact with the chain from the command-line.
Cryptotux - A Linux image ready to be imported in VirtualBox that includes the development tools mentioned above
OpenZeppelin Wizards - Not sure where to start? Use the interactive generator to bootstrap your contract and learn about the components offered in OpenZeppelin Contracts.
EthHub.io - Comprehensive crowdsourced overview of Ethereum- its history, governance, future plans and development resources.
Brownie - Brownie is a Python framework for deploying, testing and interacting with Ethereum smart contracts.
Moralis - Moralis is a cross-chain Enterprise-grade Web3 API that can be used for efficiently indexing blockchain data, authenticate various web3 wallets, and listen to real-time blockchain events
Ethereum Stack Exchange - Post and search questions to help your development life cycle.
dfuse - Slick blockchain APIs to build world-class applications.
Biconomy - Do gasless transactions in your dapp by enabling meta-transactions using simple to use SDK.
Blocknative — Blockchain events before they happen. Blocknative's portfolio of developers tools make it easy to build with mempool data.
useWeb3.xyz — A curated overview of the best and latest resources on Ethereum, blockchain and Web3 development.
Geth — An ethereum development client based in Go.
CryptoZombies — An interactive code school that teaches you to write smart contracts in Solidity.
Smartcontract challenges — Learn Solidity and Vyper with challenges.
Solidity by Example — An introduction to Solidity with simple examples.
L2Beat - Discover Ethereum Layer2 solutions and the risks associated with using them.
ethnode - Run an Ethereum node (Geth or Parity) for development, as easy as npm i -g ethnode && ethnode
.
Ganache - App for testing Ethereum blockchain with visual UI and logs
Kaleido - Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
Besu Private Network - Run a private network of Besu nodes in a Docker container
Orion - Component for performing private transactions by PegaSys
Artemis - Java implementation of the Ethereum 2.0 Beacon Chain by PegaSys
Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
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
Local Ethereum Network - Out-of-the-box deployment scripts for private PoW networks
Ethereum on Azure - Deployment and governance of consortium Ethereum PoA networks
Ethereum on Google Cloud - Build Ethereum network based on Proof of Work
Infura - Ethereum API access to Ethereum networks (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
CloudFlare Distributed Web Gateway - Provides access to the Ethereum network through the Cloudflare instead of running your own node
Chainstack - Shared and dedicated Ethereum nodes as a service (Mainnet, Ropsten)
Alchemy - Blockchain Developer Platform, Ethereum API, and Node Service (Mainnet, Ropsten, Rinkeby, Goerli, Kovan)
ZMOK - JSON-RPC Ethereum API (Mainnet, Rinkeby, Front-running Mainnet)
Watchdata - Provide simple and reliable API access to Ethereum blockchain
cheapETH - 100% compatible Ethereum network for cheap and easy development
Web3.js - Javascript Web3
Eth.js - Javascript Web3 alternative
Ethers.js - Javascript Web3 alternative, useful utilities and wallet features
useDApp - React based framework for rapid DApp development on Ethereum
light.js A high-level reactive JS library optimized for light clients.
Web3Wrapper - Typescript Web3 alternative
Ethereumjs - A collection of utility functions for Ethereum like ethereumjs-util and ethereumjs-tx
Moralis NextJS SDK - An easy to use React hooks library for NextJS dapp to index and monitor various blockchain data
Alchemy-web3.js - Javascript Web3 wrapper with automatic retries, access to Alchemy's enhanced APIs, and robust websocket connections.
flex-contract and flex-ether - Modern, zero-configuration, high-level libraries for interacting with smart contracts and making transactions.
ez-ens - Simple, zero-configuration Ethereum Name Service address resolver.
web3x - A TypeScript port of web3.js. Benefits includes tiny builds and full type safety, including when interacting with contracts.
Nethereum - Cross-platform Ethereum development framework
dfuse - A TypeScript library to use dfuse Ethereum API
Drizzle - Redux library to connect a frontend to a blockchain
Tasit SDK - A JavaScript SDK for making native mobile Ethereum dapps using React Native
useMetamask - a custom React Hook to manage Metamask in Ethereum ĐApp projects
WalletConnect - Open protocol for connecting Wallets to Dapps
Subproviders - Several useful subproviders to use in conjunction with Web3-provider-engine (including a LedgerSubprovider for adding Ledger hardware wallet support to your dApp)
Strictly Typed - Javascript alternatives
ChainAbstractionLayer - Communicate with different blockchains (including Ethereum) using a single interface.
Delphereum - a Delphi interface to the Ethereum blockchain that allows for development of native dApps for Windows, macOS, iOS, and Android.
Torus - Open-sourced SDK to build dapps with a seamless onboarding UX
Fortmatic - A simple to use SDK to build web3 dApps without extensions or downloads.
Portis - A non-custodial wallet with an SDK that enables easy interaction with DApps without installing anything.
create-eth-app - Create Ethereum-powered front-end apps with one command.
Scaffold-ETH - Beginner friendly forkable github for getting started building smart contracts.
Notify.js - Deliver real-time notifications to your users. With built-in support for Speed-Ups and Cancels, Blocknative Notify.js helps users transact with confidence. Notify.js is easy to integrate and quick to customize.
Quiver - A collection of React hooks and components for Ethereum dApps. Built by Raid Guild.
Rainbow - RainbowKit is a React library that makes it easy to add wallet connection to your dapp. It's intuitive, responsive and customizable.
Web3.py - Python Web3
Web3.php - PHP Web3
Ethereum-php - PHP Web3
Web3j - Java Web3
Nethereum - .Net Web3
Ethereum.rb - Ruby Web3
rust-web3 - Rust Web3
Web3.hs - Haskell Web3
KEthereum - Kotlin Web3
Moralis NodeJS SDK - NodeJS SDK that integrates with Moralis to index EVM chains
Moralis Python SDK - Python SDK that integrates with Moralis to index EVM chains
Eventeum - A bridge between Ethereum smart contract events and backend microservices, written in Java by Kauri
Ethereumex - Elixir JSON-RPC client for the Ethereum blockchain
Ethereum-jsonrpc-gateway - A gateway that allows you to run multiple Ethereum nodes for redundancy and load-balancing purposes. Can be ran as an alternative to (or on top of) Infura. Written in Golang.
EthContract - A set of helper methods to help query ETH smart contracts in Elixir
Marmo - Python, JS, and Java SDK for simplifying interactions with Ethereum. Uses relayers to offload transaction costs to relayers.
Ethereum Logging Framework - provides advanced logging capabilities for Ethereum applications and networks including a query language, query processor, and logging code generation
Watchdata - Provide simple and reliable API access to Ethereum blockchain
w3 - Fast and modular Golang JSON RPC client with first-class ABI support
Transpose - Powerful APIs for accessing human-readable Ethereum data at scale.
Truffle boxes - Packaged components for the Ethereum ecosystem
Ethereum Boilerplates - A full-stack boilerplate to get started building dapp on any EVM chains
Create Eth App - Create Ethereum-powered frontend apps with one command
Besu Private Network - Run a private network of Besu nodes in a Docker container
Testchains - Pre-configured .NET devchains for fast response (PoA)
Blazor/Blockchain Explorer - Wasm blockchain explorer (functional sample)
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
Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
aragonCLI - aragonCLI is used to create and develop Aragon apps and organizations.
ColonyJS - JavaScript client that provides an API for interacting with the Colony Network smart contracts.
ArcJS - Library that facilitates javascript application access to the DAOstack Arc ethereum smart contracts.
Arkane Connect - JavaScript client that provides an API for interacting with Arkane Network, a wallet provider for building user-friendly dapps.
Onboard.js - Blocknative Onboard is the quick and easy way to add multi-wallet support to your project. With built-in modules for more than 20 unique hardware and software wallets, Onboard saves you time and headaches.
web3-react - React framework for building single-page Ethereum dApps
Online ABI encoder - Free ABI encoder online service that allows you to encode your Solidity contract’s functions and constructor arguments.
Online Solidity ABI Encoder - Online Solidity ABI Encoder to encode smart contract arguments, and also perform read and write operations on the blockchain.
ABI decoder - library for decoding data params and events from Ethereum transactions
ABI-gen - Generate Typescript contract wrappers from contract ABI's.
Ethereum ABI UI - Auto-generate UI form field definitions and associated validators from an Ethereum contract ABI
headlong - type-safe Contract ABI and Recursive Length Prefix library in Java
EasyDapper - Generate dapps from Truffle artifacts, deploy contracts on public/private networks, offers live customizable public page to interact with contracts.
One Click dApp - Instantly create a dApp at a unique URL using the ABI.
Truffle Pig - a development tool that provides a simple HTTP API to find and read from Truffle-generated contract files, for use during local development. Serves fresh contract ABIs over http.
Ethereum Contract Service - A MESG Service to interact with any Ethereum contract based on its address and ABI.
Nethereum-CodeGenerator - A web based generator which creates a Nethereum based C# Interface and Service based on Solidity Smart Contracts.
EVMConnector - Create shareable contract dashboards and interact with arbitrary EVM-based blockchain functions, with or without an ABI.
contract-admin - Minimalistic UI tool for interacting with your smart contracts
Smart Contract GUI - Instant access to read from and write to any smart contract directly (on any EVM chain) by simply uploading the ABI. A simple and powerful UX enables rapid execution of smart contract calls locally, on testnets and mainnets. It also comes packed with a host of useful tools for integration testing.
Sidekik - Debug, test, and grok smart contracts with a visual UI that lets you interact with local or deployed EVM-based smart contracts. Use cases include hot reloading UI for your smart contracts as you code them, easier auditing without writing scripts to hit a function, end-to-end testing your code before deploying it, and more.
Web3 Client - Web IDE allows you to execute methods deployed smart contract and Share with others.
Patterns & Best Practices
Dappsys: Safe, simple, and flexible Ethereum contract building blocks
has solutions for common problems in Ethereum/Solidity, eg.
should be consulted before creating own, untested, solutions
usage is described in Dapp-a-day 1-10 and Dapp-a-day 11-25
Likely the most widely-used libraries and smart contracts
Similar to Dappsys, more integrated into Truffle framework
Simpler Ethereum Multisig - especially section Benefits
CryptoFin Solidity Auditing Checklist - A checklist of common findings, and issues to watch out for when auditing a contract for a mainnet launch.
aragonOS: A smart contract framework for building DAOs, Dapps and protocols
Upgradeability: Smart contracts can be upgraded to a newer version
Permission control: By using the auth
and authP
modifiers, you can protect functionality so only other apps or entities can access it
Forwarders: aragonOS apps can send their intent to perform an action to other apps, so that intent is forwarded if a set of requirements are met
Organize contracts so they share the same contract storage and Ethereum address.
Solves the 24KB max contract size limit.
Upgrade diamonds by adding/replacing/removing any number of functions in a single transaction.
Upgrades are transparent by recording them with a standard event.
Get information about a diamond with events and/or four standard functions.
Upgradeability
Besu - an open-source Ethereum client developed under the Apache 2.0 license and written in Java. The project is hosted by Hyperledger.
Geth - Go client
OpenEthereum - Rust client, formerly called Parity
Aleth - C++ client
Nethermind - .NET Core client
Infura - A managed service providing Ethereum client standards-compliant APIs
Ethereumjs - JS client using ethereumjs-vm
Seth - Seth is an Ethereum client tool—like a "MetaMask for the command line"
Mustekala - Ethereum Light Client project of Metamask
Exthereum - Elixir client
EWF Parity - Energy Web Foundation client for the Tobalaba test network
Mana - Ethereum full node implementation written in Elixir.
Chainstack - A managed service providing elastic and dedicated Geth nodes
QuickNode - Blockchain developer cloud with API access and node-as-a-service.
Watchdata - Provide simple and reliable API access to Ethereum blockchain
NOWNodes - Provide access to ETH node (and 48+ more) and Block Explorer. Get free API key to test blockchain-as-a-service solution
Spice - Data and AI managed service, with SQL, API, and Node-as-a-Service.
InfStones - Blockchain node service provider, with support for over 60 blockchain protocols.
Chainnodes - Web3 Infrastructure provider with enterprise grade low latency for all. Supports all major EVM chains.
IPFS - Decentralised storage and file referencing
Mahuta - IPFS Storage service with added search capability, formerly IPFS-Store
OrbitDB - Decentralised database on top of IPFS
JS IPFS API - A client library for the IPFS HTTP API, implemented in JavaScript
Moralis IPFS API - Upload mutliple files to IPFS easily in any language
TEMPORAL - Easy to use API into IPFS and other distributed/decentralised storage protocols
PINATA - The Easiest Way to Use IPFS
Swarm - Distributed storage platform and content distribution service, a native base layer service of the Ethereum web3 stack
Infura - A managed IPFS API Gateway and pinning service
3Box Storage - An api for user controlled, distributed storage. Built on top of IPFS and Orbitdb.
Aleph.im - an offchain incentivized peer-to-peer cloud project (database, file storage, computing and DID) compatible with Ethereum and IPFS.
DB3 Network - Decentralized Firebase Firestore Alternative.
Whisper - Communication protocol for DApps to communicate with each other, a native base layer service of the Ethereum web3 stack
DEVp2p Wire Protocol - Peer-to-peer communications between nodes running Ethereum/Whisper
Pydevp2p - Python implementation of the RLPx network layer
3Box Threads - API to allow developers to implement IPFS persisted, or in memory peer to peer messaging.
EPNS SNS Notifications - SNS module for Push Delivery Nodes allows any developer to receive notifications, chats, or any other form of web3 communication directly to the platform they are building with the help of webhooks.
Truffle Teams - Zero-Config continuous integration for truffle projects
Solidity code coverage - Solidity code coverage tool
Solidity coverage - Alternative code coverage for Solidity smart-contracts
Solidity function profiler - Solidity contract function profiler
Sol-profiler - Alternative and updated Solidity smart contract profiler
Espresso - Speedy, parallelised, hot-reloading solidity test framework
Eth tester - Tool suite for testing Ethereum applications
Cliquebait - Simplifies integration and accepting testing of smart contract applications with docker instances that closely resembles a real blockchain network
Hevm - The hevm project is an implementation of the Ethereum virtual machine (EVM) made specifically for unit testing and debugging smart contracts
Ethereum graph debugger - Solidity graphical debugger
Tenderly CLI - Speed up your development with human readable stack traces
Solhint - Solidity linter that provides security, style guide and best practice rules for smart contract validation
Ethlint - Linter to identify and fix style & security issues in Solidity, formerly Solium
Decode - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
truffle-assertions - An npm package with additional assertions and utilities used in testing Solidity smart contracts with truffle. Most importantly, it adds the ability to assert whether specific events have (not) been emitted.
Psol - Solidity lexical preprocessor with mustache.js-style syntax, macros, conditional compilation and automatic remote dependency inclusion.
solpp - Solidity preprocessor and flattener with a comprehensive directive and expression language, high precision math, and many useful helper functions.
Decode and Publish – Decode and publish raw ethereum tx. Similar to https://live.blockcypher.com/btc-testnet/decodetx/
Doppelgänger - a library for mocking smart contract dependencies during unit testing.
rocketh - A simple lib to test ethereum smart contract that allow to use whatever web3 lib and test runner you choose.
pytest-cobra - PyTest plugin for testing smart contracts for Ethereum blockchain.
Synpress - Web3-enabled e2e testing tool. A wrapper around Cypress.io with included MetaMask support which allows you to test dapps with ease.
MythX - Security verification platform and tools ecosystem for Ethereum developers
Mythril - Open-source EVM bytecode security analysis tool
Oyente - Alternative static smart contract security analysis
Securify - Security scanner for Ethereum smart contracts
SmartCheck - Static smart contract security analyzer
Ethersplay - EVM disassembler
Evmdis - Alternative EVM disassembler
Hydra - Framework for cryptoeconomic contract security, decentralised security bounties
Solgraph - Visualize Solidity control flow for smart contract security analysis
Manticore - Symbolic execution tool on Smart Contracts and Binaries
Slither - A Solidity static analysis framework
Adelaide - The SECBIT static analysis extension to Solidity compiler
solc-verify - A modular verifier for Solidity smart contracts
Solidity security blog - Comprehensive list of known attack vectors and common anti-patterns
Awesome Buggy ERC20 Tokens - A Collection of Vulnerabilities in ERC20 Smart Contracts With Tokens Affected
Free Smart Contract Security Audit - Free smart contract security audits from Callisto Network
Piet - A visual Solidity architecture analyzer
Smack My Contract - Web3 Security Scanner Aggregator
Moralis Streams API - Stream real-time on-chain events to your webhook from multiple EVM blockchains.
Alethio - An advanced Ethereum analytics platform that provides live monitoring, insights and anomaly detection, token metrics, smart contract audits, graph visualization and blockchain search. Real-time market information and trading activities across Ethereum's decentralized exchanges can also be explored.
amberdata.io - Provides live monitoring, insights and anomaly detection, token metrics, smart contract audits, graph visualization and blockchain search.
Neufund - Smart Contract Watch - A tool to monitor a number of smart contracts and transactions
Scout - A live data feed of the activities and event logs of your smart contracts on Ethereum
Tenderly - A platform that gives users reliable smart contract monitoring and alerting in the form of a web dashboard without requiring users to host or maintain infrastructure
Chainlyt - Explore smart contracts with decoded transaction data, see how the contract is used and search transactions with specific function calls
BlockScout - A tool for inspecting and analyzing EVM based blockchains. The only full featured blockchain explorer for Ethereum networks.
Terminal - A control panel for monitoring dapps. Terminal can be used to monitor your users, dapp, blockchain infrastructure, transactions and more.
Ethereum-watcher - An extensible framework written in Golang for listening to on-chain events and doing something in response.
Alchemy Notify - Notifications for mined and dropped transactions, gas price changes, and address activity for desired addresses.
Blocknatve Mempool Explorer — Monitor any contract or wallet address and get streaming mempool events for every lifecycle stage — including drops, confirms, speedups, cancels, and more. Automatically decode confirmed internal transactions. And filter exactly how you want. Receive events in our visual, no-code, interface or associate them with your API key to get events via a webhook. Mempool Explorer helps exchanges, protocols, wallets, and traders monitor and act on transactions in real-time.
Ethernal - Ethereum block explorer for private chain. Browse transactions, decode function calls, event data or contract variables values on your locally running chain.
Forta - A decentralized monitoring network to detect threats and anomalies on DeFi, NFT, governance, bridges and other Web3 systems in real-time.
InfStones BlockWatch - Set up alarms to monitor node status for resource utilization. Incorporate notifications for SMS, Slack, phone calls, and emails.
Blocktorch - An obvservability platform for the decentralized stack. Get the big picture of all your smart contracts at a glance. Browse through logs across chains and across contracts fast. Set Service Level Objectives to see and get notified about anomalies.
Ethereum-datafarm - Easy-to-use console app for parsing historical event data without requiring an archive node. Ethereum-datafarm uses the Etherscan API to parse event data from specified contracts and store it in CSV format.
Sidekik - Debug, test, and grok smart contracts with a visual UI that lets you interact with local or deployed EVM-based smart contracts. Easily monitor and browse local chain transactions, decode function calls, and prepare input payloads so you can test your code.
aragonPM - a decentralized package manager powered by aragonOS and Ethereum. aragonPM enables decentralized governance over package upgrades, removing centralized points of failure.
Truffle boxes - Packaged components for building DApps fast.
Cheshire - A local sandbox implementation of the CryptoKitties API and smart contracts, available as a Truffle Box
Solc - Solidity compiler
Sol-compiler - Project-level Solidity compiler
Solidity cli - Compile solidity-code faster, easier and more reliable
Solidity flattener - Combine solidity project to flat file utility. Useful for visualizing imported contracts or for verifying your contract on Etherscan
Sol-merger - Alternative, merges all imports into single file for solidity contracts
RLP - Recursive Length Prefix Encoding in JavaScript
eth-cli - A collection of CLI tools to help with ethereum learning and development
Ethereal - Ethereal is a command line tool for managing common tasks in Ethereum
Eth crypto - Cryptographic javascript-functions for Ethereum and tutorials to use them with web3js and solidity
Parity Signer - mobile app allows signing transactions
py-eth - Collection of Python tools for the Ethereum ecosystem
truffle-flattener - Concats solidity files developed under Truffle with all of their dependencies
Decode - npm package which parses tx's submitted to a local testrpc node to make them more readable and easier to understand
TypeChain - Typescript bindings for Ethereum smartcontracts
EthSum - A Simple Ethereum Address Checksum Tool
PHP based Blockchain indexer - allows indexing blocks or listening to Events in PHP
Purser - JavaScript universal wallet tool for Ethereum-based wallets. Supports software, hardware, and Metamask -- brings all wallets into a consistent and predictable interface for dApp development.
Node-Metamask - Connect to MetaMask from node.js
Solidity-docgen - Documentation generator for Solidity projects
Ethereum ETL - Export Ethereum blockchain data to CSV or JSON files
prettier-plugin-solidity - Prettier plugin for formatting Solidity code
Unity3dSimpleSample - Ethereum and Unity integration demo
Flappy - Ethereum and Unity integration demo/sample
Wonka - Nethereum business rules engine demo/sample
Sol2UML Unified Modeling Language (UML) class diagram generator for Solidity contracts
Resolver-Engine - A set of tools to standardize Solidity import and artifact resolution in frameworks.
eth-reveal - A node and browser tool to inspect transactions - decoding where possibe the method, event logs and any revert reasons using ABIs found online.
Ethereum-tx-sender - A useful library written in Golang to reliably send a transaction — abstracting away some of the tricky low level details such as gas optimization, nonce calculations, synchronization, and retries.
truffle-plugin-verify - Seamlessly verify contract source code on Etherscan from the Truffle command line.
Blocknative Gas Platform — Gas estimation for builders, by builders. Gas Platform harnesses Blocknative's real-time mempool data infrastructure to accurately and consistently estimate Ethereum transaction fees. This provides builders and traders with an up-to-the-moment gas fee API.
ETH Gas.watch - A gas price watcher with email notifications on price change
Diverse Eth Calculator - Ease unit calculations & utility tools. PWA , so you can install it on your mac/windows/linux or android/iphone
Cookbook - A platform aggregating all smart contract libraries
Ethereum Unit Converter - Online tool to convert the different Ethereum denominations (wei, gwei, ether).
Solidity Bytes32 Converter - Online tool to convert Solidity Bytes32 into strings, or numbers and vice versa.
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 utilizing the Ethereum Virtual Machine
DateTime Library - A gas-efficient Solidity date and time library
Aragon - DAO protocol. Contains aragonOS smart contract framework with focus on upgradeability and governance
ARC - an operating system for DAOs and the base layer of the DAO stack.
0x - DEX protocol
Token Libraries with Proofs - Contains correctness proofs of token contracts wrt. given specifications and high-level properties
Provable API - Provides contracts for using the Provable service, allowing for off-chain actions, data-fetching, and computation
ABDK Libraries for Solidity - Fixed-point (64.64 bit) and IEEE-754 compliant quad precision (128 bit) floating-point math libraries for Solidity
Cookbook - A platform aggregating all smart contract libraries
-----------------------------------------------------------------------------------------------------
A test network refers to a separate environment that allows developers and users to experiment and test new features, functionalities, and smart contracts without interacting with the main network.
INFO
Inspired by: https://github.com/ConsenSys/ethereum-developer-tools-list