Choosing a chain for your development environment
When developing on Ethereum, different approaches are required depending on your development environment. Below are some tools we recommend:
Local private testnet
When working in a local environment, the tools we recommend are
Parity PoA and
Using Geth Clique allows you to test your integration with smart contracts directly in Geth with a fast Proof of Authority consensus.
Using Parity in combination with PoA consensus mechanism yields the same benefits as with Geth.
Ganache CLI (formerly
Test RPC) is a very common and well-documented chain emulator.
Ganache inherits Truffle suite's benefits: mainly simplifying Smart Contracts testing, debugging and updating. Ganache has a quasi-immediate response time and great feedback cycle. It's great to deploy contracts and interact with them instantly at no GAS cost.
Cloud private testnet
Azure BaaS (Blockchain as a Service) allows you to deploy a testnet with several nodes and have a team work on the development.
Public testnets function in the same way main nets work, with two differences: They are free: transactions are paid with a worthless crypto-currency They are often more responsive than main nets
The main public testchains are:
Cross-client testnet using PoA consensus mechanism.
Cross-client testnet (working with both Parity and Geth) using PoA consensus mechanism and a particular focus on spam-resilience.
Less popular since hacked early 2017, however, Ropsten is still in service.
Note: public testnets can be accessed via public nodes such as INFURA
Debug modes are available whether you are using chain emulators or full-on Ethereum clients.
1 - Geth
- Using option
2 - Parity
- The use of Json RPC's Trace Module allows to trace transactions.
3 - Ganache/Testnet RPC
- Use the
--debugoption will Output VM opcodes for debugging
The ether and tokens used in test networks is for testing purposes only (it can accurately be compared to Monopoly bills). It's mostly distributed by online "faucets".
Here's a list of testnet Ether sources:
|Kovan||Kovan requires you to request KETH from another person|
For more specific advice about faucets please check this article.
Credits to Karl Floersch for the information about the different testnets: https://karl.tech/intro-guide-to-ethereum-testnets/