Could someone make a list with development tools for Ethereum together with a short description what they are good for?
High Level Languages for smart contract developing:
See the differences here.
Command Line Development Management Tools for creating a basic structure of an DAPP project:
Testnode with RPC Interace for deploying contracts on a virtual node and make transactions without the need to be mined:
Browser based IDE to get instant feedback for solidity code:
Work in Progress...
A MUST MENTION: I see that most people are offering advice for test networks. I recommend you to use them however when you want to switch to Rinkeby or the main Ethereum network, make sure you connect to the right provider/node.
For example, infura.io could offer you a node to connect to the network. All you need to do is setting up the provider with the mnemonic + link offered by infura
You could develop smart contracts using
Brownie. You could implement your smart contracts and test it on its local blockchain, where each transaction will be deploy right away and increment the block number.
Brownie: A python framework for Ethereum smart contract deployment, testing and interaction. https://eth-brownie.readthedocs.io
In addition to that you could also create your own private ethereum network, where blockchain will start from genesis block. If you build it as Proof-of-Authority you can fix time to 10-15 seconds for block time and and it will not consume any additional CPU usage.
Feel free to connect to A proof-of-authority private ethereum network (
eBlocPOA) that I am using, please see the guide to connect.
You could find some guide to start your own private-chain:
etherlime is an ethereum development and deployment framework based on ethers.js.
This framework provides alternative to the other web3.js based frameworks and allows for ultimate control by the developer. It also adds much needed verboseness in the deployment process so that you can be aware of what is really going on (as opposed to the general shooting in the dark technique).
Think Ganache should get a mention here. For setting up your personal blockchain for Ethereum development.
The most important Tools & frameworks you'll need to get started with Ethereum development are:
Remix IDE - The easiest way to get started. https://remix.ethereum.org/
IDE of your choice with Solidity plugin - For example IntelliJ + solidity plugin
- Ganache - This is your local Ethereum node for development
- MetaMask - Browser plugin (Needed to interact with the Ethereum network from the browser)
Here is an extensive list of tools provided by ConsenSys.