Testnets
testnet11 is the only supported testnet. Older testnets may remain active, but Chia Network Inc. no longer officially supports them.
Testnets can be used to test the chia software with coins that have no real world value. If you want to run the Chia blockchain mainnet, use the mainnet installation instructions.
Join the official testnet
Prerequisites
- Minimum Chia version is 2.1.0 installed.
- All chia processes have been stopped with
chia stop all-d
.
Configure Chia for testnet
# Initialize chia
chia init
# Generate keys (if they have not already been generated)
chia keys generate
# Configure Chia for the currently-active testnet
chia configure --testnet true
Download the official testnet database (optional)
The process for using the official database snapshot torrent can be found here: https://docs.chia.net/reference-client/troubleshooting/node-syncing/#using-the-official-database-snapshot-torrent
Start your node and connect to peers
# Start your node
chia start farmer
# Check sync status
chia show -s`
# Once the node is synced, you can check the wallet status
chia wallet show
Fund a testnet wallet (optional)
# Get a testnet wallet address differentiated from mainnet wallet addresses by beginning with txch instead of xch
chia wallet get_address
Input your testnet wallet address into one of the faucets. If it says you are in the queue, it has worked.
- Chia Official testnet faucet.
- Community developed and managed testnet faucet. Thank you to Steve Stepp for building and managing this faucet!
Funds will not appear in your wallet until you are fully synced to the blockchain.
Dual farming mainnet and testnet
These instructions are tailored for Linux. A similar approach could likely be followed for MacOS.
In some cases, you may want to farm the same plots you farm on mainnet on one of the testnets as well, without removing them from mainnet. This is doable with a bit of extra legwork to set up unique ports for the testnet chia installation.
There are a couple options for setting this up. You can either ensure you have the CHIA_ROOT set to unique values for each instance you want to run, or else run the installations on separate users. These instructions will show setting a specific CHIA_ROOT.
Set Up mainnet installation
For the mainnet installation, we will stick with the default ports and CHIA_ROOT, so these steps are essentially no different than the standard installation instructions
Set Up testnet installation
(Optional) Install yq
to make editing the yaml files easier https://github.com/mikefarah/yq#install.
Alternatively, you can manually edit the ports in config.yaml
.
# Export the Chia root
export CHIA_ROOT=~/.chia/testnet
# Initialize testnet
chia init
# Configure Chia for the currently-active testnet
chia configure --testnet true
# Edit the file `~/.chia/testnet/config/config.yaml` and set the following fields to the new port values.
# Use the ports listed or choose any you desire as long as they are different than the default values for mainnet.
yq -i -y '.daemon_port = 55401' ~/.chia/testnet/config/config.yaml
yq -i -y '.ui.daemon_port = 55401' ~/.chia/testnet/config/config.yaml
yq -i -y '.ui.port = 8802' ~/.chia/testnet/config/config.yaml
yq -i -y '.farmer.port = 8547' ~/.chia/testnet/config/config.yaml
yq -i -y '.full_node.farmer_peer.port = 8547' ~/.chia/testnet/config/config.yaml
yq -i -y '.harvester.farmer_peer.port = 8547' ~/.chia/testnet/config/config.yaml
yq -i -y '.harvester.port = 8548' ~/.chia/testnet/config/config.yaml
yq -i -y '.farmer.harvester_peer.port = 8548' ~/.chia/testnet/config/config.yaml
yq -i -y '.wallet.port = 8649' ~/.chia/testnet/config/config.yaml
yq -i -y '.full_node.wallet_peer.port = 8649' ~/.chia/testnet/config/config.yaml
yq -i -y '.full_node.rpc_port = 8800' ~/.chia/testnet/config/config.yaml
yq -i -y '.ui.rpc_port = 8800' ~/.chia/testnet/config/config.yaml
yq -i -y '.farmer.rpc_port = 8571' ~/.chia/testnet/config/config.yaml
yq -i -y '.harvester.rpc_port = 8572' ~/.chia/testnet/config/config.yaml
yq -i -y '.wallet.rpc_port = 9456' ~/.chia/testnet/config/config.yaml
# Start Chia
chia start farmer
Swap between mainnet and testnet
To swap between running commands for mainnet and running commands for testnet, you need to ensure your CHIA_ROOT
is set properly before running any commands
- Mainnet:
export CHIA_ROOT=~/.chia/mainnet
- Testnet:
export CHIA_ROOT=~/.chia/testnet
Create a local testnet for fast, private testing
These instructions are tailored for Linux. A similar approach could likely be followed for MacOS.
- Stop all chia processes. Check that they have stopped with
ps -ef | grep chia
- Create a new chia root using
export CHIA_ROOT="~/.chia/my_testnet"
, thenchia init
. Don't forget to export CHIA_ROOT, or prefix your chia commands withCHIA_ROOT="~/.chia/my_testnet"
if you want to run on my_testnet when starting a new terminal. - Create a new entry in config.yaml with a different GENESIS_CHALLENGE, and reduced
DIFFICULTY_CONSTANT_FACTOR
.2^67
constant factor is around 110PiB assuming a fast timelord. So if you have around 110GiB, you can set it to2 ^ 47
. DecreaseSUB_SLOT_ITERS_STARTING
to something like2^23
if you are using a slow computer. DecreasePLOT_FILTER
if you want to have more proof checks per signage point. - Make sure to add my_testnet to all places that need it, like
network_overrides.config
, andselected_network
- Change the introducer URLs to point to localhost so you don't contact the real ones
- Do
sh install-timelord.sh
- Run the system with
chia start all
- If you have installed the gui, run
(cd chia-blockchain-gui && npm run electron &)
You can generate a new genesis challenge by running python, and entering the following commands:
from secrets import token_bytes
print(token_bytes().hex())
Testnet support
Join Our Discord and jump into the #testnet channel for support