The testnet is an alternative Bitcoin block chain, to be used for testing. Testnet coins are separate and distinct from actual bitcoins, and are never supposed to have any value. This allows application developers or bitcoin testers to experiment, without having to use real bitcoins or worrying about breaking the main bitcoin chain.
Run bitcoin or bitcoind with the -testnet flag to use the testnet (or put testnet=1 in the bitcoin.conf file).
There have been three generations of testnet. Testnet2 was just the first testnet reset with a different genesis block, because people were starting to trade testnet coins for real money. Testnet3 is the current test network. It was introduced with the 0.7 release, introduced a third genesis block, a new rule to avoid the "difficulty was too high, is now too low, and transactions take too long to verify" problem, and contains blocks with edge-case transactions designed to test implementation compatibility.
- Default Bitcoin network protocol listen port is 18333 (instead of 8333)
- Default RPC connection port is 18332 (instead of 8332)
- Bootstrapping uses different DNS seeds.
- A different value of ADDRESSVERSION field ensures no testnet Bitcoin addresses will work on the production network. (0x6F rather than 0x00)
- The protocol message header bytes are 0x0B110907 (instead of 0xF9BEB4D9)
- Minimum difficulty of 1.0 on testnet is equal to difficulty of 0.5 on mainnet. This means that the mainnet-equivalent of any testnet difficulty is half the testnet difficulty. In addition, if no block has been found in 20 minutes, the difficulty automatically resets back to the minimum for a single block, after which it returns to its previous value.
- A new genesis block
- The IsStandard() check is disabled so that non-standard transactions can be experimented with.
solo.ckpool has a testnet bitcoin solo mining implementation available, without the need to set up bicoind locally.
Online testnet wallets to help you test your application.
Once you're done with your test coins, it is a nice gesture to send them back to the faucets, so they become available to other developers.
- UO1 Testnet Faucet
- TP's TestNet Faucet
- luis.im Mojocoin Testnet3 Faucet
- Mycelium Testnet Wallet for Android with integrated Testnet "faucet" function (Local Trader)
- nkuttler's Bitcoin Testnet Faucet
- BlockCypher Testnet Faucet, also provided as a Testnet faucet API for test automation