Setting up an Ethereum Development Environment
- General
Setting up an Ethereum Development Environment
Here I am going to list all the developer tools and framework which are going to used for ethereum development.
List of Developer Tools are as follows:-
Developing Smart Contracts
Smart Contract Languages
- Solidity — Ethereum smart contracting language
- Bamboo — A morphing smart contract language
- Vyper — New experimental pythonic programming language
- LLL — Low-level Lisp-like Language
- Flint — New language under development with security features including asset types, state transition, and safe integers
Frameworks
- Truffle — Most popular smart contract development, testing, and deployment framework. The Truffle suite includes Truffle, Ganache, and Drizzle.
- Embark — Framework for DApp development
- Waffle — Framework for advanced smart contract development and testing, small, flexible, fast (based on ethers.js)
- Dapp — Framework for DApp development, successor to DApple
- Populus — The Ethereum development framework with the most cute animal pictures
- Etherlime — ethers.js based framework for Dapp deployment
- Parasol — Agile smart contract development environment with testing, INFURA deployment, automatic contract documentation and more. It features a a flexible and unopinionated design with unlimited customizability
- 0xcert — JavaScript framework for building decentralized applications
Integrated Developer Environments
- Remix — Web IDE with built in static analysis, test blockchain VM.
- Superblocks Lab — Web IDE. Built in browser blochain VM, Metamask integration (one click deployments to Testnet/Mainnet), transaction logger and live code your WebApp among many other features.
- Atom — Atom editor with Atom Solidity Linter, Etheratom, autocomplete-solidity, and language-solidity packages
- Pragma — Very simple web IDE for solidity, and auto-generated interfaces for smart contracts.
- Vim solidity — Vim syntax file for solidity
- Visual Studio Code — Visual Studio Code extension that adds support for Solidity
- Intellij Solidity Plugin — Open-source plug-in for JetBrains IntelliJ Idea IDE (free/commercial) with syntax highlighting, formatting, code completion etc.
- YAKINDU Solidity Tools — Eclipse based IDE. Features context sensitive code completion and help, code navigation, syntax coloring, build in compiler, quick fixes and templates.
- Eth Fiddle — IDE developed by The Loom Network that allows you to write, compile and debug your smart contract. Easy to share and find code snippets.
Test blockchain networks
- Ganache — App for test Ethereum blockchain with visual UI and logs
- Kaleido — Use Kaleido for spinning up a consortium blockchain network. Great for PoCs and testing
- Pantheon Private Network — Run a private network of Pantheon 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
- getho — DApp development platform including PoA private blockchain and Smart Contract testing tool.
- Ethereum on Google Cloud — Build Ethereum network based on Proof of Work
Test Ether faucets
- Georli Faucet
- Sepolia
Communicating with Ethereum.
Frontend Ethereum APIs
- 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
- 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.
- Drizzle — Redux library to connect a frontend to a blockchain
- Tasit SDK — A JavaScript SDK for making native mobile Ethereum dapps using React Native
- 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-react — React framework for building single-page Ethereum dApps
- Vortex — A Dapp-ready Redux Store. Smart and Dynamic background data refresh thanks to WebSockets. Works with Truffle and Embark.
- Strictly Typed — Javascript alternatives
- elm-ethereum
- purescript-web3
Backend Ethereum APIs
- Web3.py — Python Web3
- Web3.php — PHP Web3
- Ethereum-php — PHP Web3
- Web3j — Java Web3
- Nethereum — .Net Web3
- Ethereum.rb — Ruby Web3
- Web3.hs — Haskell Web3
- KEthereum — Kotlin Web3
- Pyethereum — The Python core library of the Ethereum project
- 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
- EthContract — A set of helper methods to help query ETH smart contracts in Elixir
These are the mostly used developer tools and for further more you can check out this link
Related content
Auriga: Leveling Up for Enterprise Growth!
Auriga’s journey began in 2010 crafting products for India’s