# Launching Granadanet & Introducing Teztnets, a testnet platform for Tezos
*by [TQTezos](https://tqtezos.com/) in collaboration with [ECAD Labs](https://www.ecadlabs.com/)*
Tezos is upgraded regularly through new software releases and subsequent on-chain governance mechanism that activates protocol changes delivered through these upgrades. The current proposal is called Granada. As you are reading this, the Tezos testnet for Granada amendment proposal has been injected to Tezos mainnet.
To connect to it, you should upgrade to the most recent version of Tezos, `v9.2`.
Then run:
```
tezos-node config init --network granadanet
tezos-node run
```
You may get granadanet tokens at the [faucet](https://faucet.tzalpha.net).
### Tezos does not hard fork, but Teztnets do!
The proposed Granada protocol has a complex migration logic, with a switchover to [Emmy*](https://blog.nomadic-labs.com/faster-finality-with-emmy.html) and the introduction of liquidity baking contracts.
Granadanet started off with Florence protocol, then upgraded to Granada protocol at block 4095, at the end of cycle 2. This is identical to what will happen on mainnet if the Granada proposal is accepted. No vote is required for the testnet. Your node will automatically switch over to the new protocol if you follow the instructions above.
Upgrading Granadanet will allow us to test this proposed protocol upgrade in real-world conditions, ensuring that the mainnet upgrade will happen without a hitch.
## Introducing Teztnets.xyz, a versatile platform to deploy Tezos testnets
The stream of changes in the Tezos protocol is robust. Testing them requires coordination between ecosystem participants. If a new protocol is submitted for referendum, it should be under scrutiny as soon as possible in order to evaluate the desirability of the upgrade and to prepare for it.
Tezos original protocol designers were well aware of this fact and introduced the **testing** phase. During this phase, the proposed protocol ran in parallel to the current protocol in every node by default. This was problematic, however.
In theory, the Tezos node is capable of auto-updating by downloading and compiling the new protocol. But protocol upgrades often require upgrades of the outer part of the Tezos node software (also known as the shell). It means that node operators need to upgrade their software in a traditional sense, by downloading the latest version, for the protocol upgrade to work.
The automated test chain lauch mechanism described above would sometimes misbehave on Tezos nodes that were not updated. It would cause performance issues on the main chain. Consequently, the automated testnet launch was removed as part of Edo proposal upgrade.
Nowadays, a Tezos mainnet node always runs the current protocol and is removed from the testing phase. The need for coordination remains, however.
## A new model for Tezos testing
Our goals were to:
* Reduce barriers for interested parties to interact with upcoming Tezos protocol features, be they feature complete or at the alpha stage.
* Reduce coordination and operational costs for interested parties to spin up new testnets.
* Make testnets visible & discoverable to the public.
The requirements for the test platform were:
* it should be declarative: the desired properties of the testnet (source code, genesis parameters, genesis baker list) should be visible in a dedicated repository,
* it should be inclusive: anyone can propose a Tezos protocol upgrade and submit it for vote. The same goes for testnets, there should be little friction in launching a new Tezos testnet from any branch of Tezos in any repository,
* it should be automated: deployment of the testnets should require no manual step or coordination besides deciding on the bootstrap parameters and bootstrap bakers. Hooks should be provided so autonomous entities can hook their automation and run validation whever a new testnet is launched.
## Enter teztnets
[Teztnets.xyz](https://teztnets.xyz) is the place to go for everything related to Tezos testnets. You can see which testnets are currently deployed, with instructions on how to join them, as a participant or baker.
[The github repository](https://github.com/tqtezos/teztnets) is where teztnets are declared. Anyone can submit a PR there to define a new teztnet. Upon acceptance and merge by the maintainers, the new teztnet will launch.
The Teztnets platform is friendly to humans and machines. [A json endpoint](https://teztnets.xtz/teztnets.json) lists the currently deployed teztnets.
For every deployed teztnet, the platform runs a bootstrap baker and exposes the node p2p endpoint to the Internet.
The teztnet platform source code itself is fully open source and relies on the [Tezos-k8s open-source project](https://github.com/tqtezos/tezos-k8s).
### Next steps
Tezos testnets for protocol upgrade have traditionally been deployed by a consortium of ecosystem participants running "genesis bakers". This was still the case for Granadanet. It went like this:
1. call for participants happened
1. the platform generated network parameters, launched a node and activateed the chain. This created blocks 0 and 1,
2. bootstrap bakers connected to the bootstrap node and started baking
3. bootstrap bakers exposed p2p and RPC endpoints of their own
Moving forward, we plan to release tooling to allow autonomous entities to automatically deploy baking nodes when a new Teztnet comes online, including testnets for protocol proposals and feature testnets.
This will allow:
* block explorers and snapshot services to automatically support testnets when they become available,
* smart contract and dapp builders to automatically test their product against innovations happening at the protocol level.
We are working on making the platform better. We are planning to support:
* [pre-population of smart contracts](https://github.com/tqtezos/teztnets/tree/main/bootstrap_contracts) from the genesis block
* [periodic testnets](https://github.com/tqtezos/teztnets/issues/8) that restart on a cadence with the most recent protocol from a Tezos repository
The documentation is at [https://teztnets.xyz/about](https://teztnets.xyz/about). Join us and help make Tezos auto-upgrades better.