In particular how does alphanet differ from zeronet as a test network?
The two test networks move at different speeds. Zeronet is much faster than alphanet. This makes a difference in how quickly you can test different scenarios like baking.
- In zeronet, each cycle is 128 blocks, and each block has a target time of 20 seconds. So, each cycle should complete in roughly 42.66 minutes, although they may take longer if bakers miss blocks.
- In alphanet, each cycle is 2048 blocks, and each block has a target time of 30 seconds. So, each cycle should complete in roughly 17.06 hours.
Since baking rights are determined by a snapshot taken during a given cycle, and are used in current cycle + 5 cycles (for zeronet) or current cycle + 7 cycles (for alphanet), this means that the amount of time you need to wait to bake is much longer in alphanet than zeronet.
- In alphanet, if you get some tez from the faucet and delegate to yourself immediately, you will have baking rights in about 5 days (4.97 given standard block times).
- In zeronet, after delegation, you will have baking rights in about 3.55 hours.
So, if you want to test baking very quickly, I would recommend testing in zeronet, but if you want to test longer term baking, you can test in alphanet.
The faucet for both networks is the same: https://faucet.tzalpha.net/ - tez that you get from the faucet will work on both networks.
Protocol amendments (voting) will be tested on alphanet first, as the longer cycle time makes it easier to test.
- Alphanet is the test network for tezos users and developers on the chain.
It runs the exact code of mainnet. It only differs by a few constants to run faster. Currently:
blocks_per_voting_period/4, ... This is also meant to enforce Do not hardwire constants in your code, they may change! :-)
- Zeronet is the test network for tezos developers of the chain and its ecosystem.
It runs a cutting edge code as close as possible to what is the
master branch of the repository https://gitlab.com/tezos/tezos .