Many of you might have seen the announcements of the
carthagenet test network a Tezos testnet which currently is equivalent to the protocol version
005 or Babylon. This article starts with a broader context around the
carthagenet test network and its purpose. It also aims to explain the current plans from Nomadic and Cryptium Labs regarding the next protocol proposal, Carthage. Finally, the article describes a more planned testnets release and a more gradual protocol amendments schedule.
The Carthagenet Test Network
What is it?
carthagenet is a test network launched on the 7th of November. At the time of writing contains the same features as Tezos mainnet (
005 or Babylon). It is currently being operated by willing community bakers from the baking Slack group.
Less rush, more testing, more documentation, more community involvement
— Lessons Learned from Babylon
The purpose of the
carthagenet test network is driven by some of the lessons learned from the Babylon protocol upgrade process, in particular:
- Allowing developers to test properly, before the injection
- Publishing the code and changelog, before the injection
carthagenet is the test network dedicated to not only deploy the features from the upcoming Carthage protocol proposal, but also to test all transitions from injection, governance phases, activation, and migrations — in order to provide a more holistic testing process before injecting a proposal on Tezos mainnet.
What is the timeline?
carthagenettest network was launched on the 7th of November 2019
- The Carthage proposal to be injected to the
carthagenettest network on the afternoon of 14th of November 2019, Paris/Zug time
- The Carthage proposal to be subject to a sped up governance process on the
carthagenettest network and will be activated on the
carthagenettest network in 2–3 days*
carthagenettest network, now containing all the new features of the Carthage proposal, will be maintained and dedicated to developers and the broader ecosystem that wishes to test and interact with it
*For testing purposes, the governance parameters have been tweaked and the assumption of the protocol successfully passing has been made. However, these parameters and assumption are only valid on the
carthagenet test network, which is a testnet created for this purpose.
How to Interact with the Carthagenet Test Network
In order to test the Carthage proposal on the
carthagenet test network as thoroughly as possible, we encourage bakers, developers, and the rest of the community to actively interact with the testnet.
carthagenet test network is currently operated by willing bakers. In order to simulate real baker participation as much as possible, we encourage bakers to join the
carthagenet test network following one of the sources of documentation: http://tezos.gitlab.io/introduction/test_networks.html#carthagenet
At the moment, the most accessible way of interacting with the
carthagenet test network is via the
tezos-client or command line. One source of documentation on how to install and use
tezos-client are applicable to the
carthagenet test network. When running the commands, make sure you include the flag
-A carthagenet.tezos.cryptium.ch, which allows you to interact with one of Cryptium Labs’ synched
carthagenet test network full nodes:
$ tezos-client -A carthagenet.tezos.cryptium.ch [...]
In addition to the command line tools, the Tezos community can also interact with the
carthagenet test network in other ways, such as through transfers or common day-to-day interactions. To do so, you can use many services supporting the
carthagenet test network:
carthagenettest network faucet: https://faucet.tzalpha.net
- The block explorer Tezos ID: https://carthagenet.tezos.id
- The block explorer TzStats: https://carthagenet.tzstats.com
- The AirGap’s block explorer TezBlocks: https://carthagenet.tezblock.io/
Carthage: the Housekeeping Proposal
What is it?
The Carthage proposal (aka
006) is a Tezos protocol upgrade proposal developed by Nomadic and Cryptium Labs. Albeit the features that it contains are ready (see below), this proposal has not yet been injected on mainnet. Following the lessons learned from the Babylon protocol upgrade process, the core developers wish to publish the code and changelog and, with the
carthagenet test network, allow developers to test properly, before the injection.
The Carthage proposal is referred to as a housekeeping proposal as it does not include large features, but rather focuses on code clean-up, adding optimisations, and fixing small issues on the existing protocol version — this is in alignment with the lessons learnt and the goal of soothing the frequency of large scale feature releases.
Gas Limit Increases
Carthage includes Gas Limit Increases, specifically:
hard_gas_limit_per_operationis increased from
hard_gas_limit_per_blockis increased from
If you are a smart contract developer, wallet or client implementer, we strongly suggest testing this feature as soon as the Carthage proposal is active on the
carthagenet test network.
In addition to the increase in Gas Limits, it contains several housekeeping changes that focus on code clean-up, adding optimisations, and fixing small issues. For more details on each of these features, find the changelog and links to the implementations here: http://tezos.gitlab.io/protocols/006_carthage.html
Who can inject it?
The Carthage proposal is ready and you can find the source files on this Gitlab branch. By open-sourcing the proposal, the core developers hope to encourage even more community involvement by enabling the community to not only assess the features in advance, but also, if the community wishes to, to inject the proposal on mainnet through their bakers.
How to inject it?
Injecting a new proposal is generally straight-forward and any baker, no matter how many rolls, can do it. In order to inject the proposal:
- Download the branch with the protocol to a machine with a running
mainnetnode and the
- Then run
tezos-admin-client inject protocol src/proto_006_PsXXXX/lib_protocol*. Now your node is aware of the new protocol.
- The last step is to submit a proposal to the on-chain governance mechanism. In order to do that please run
tezos-client submit proposal for <delegate> <PsXXXX>*.
*Remember to replace
<PsXXXX> with the canonical hash: PtCarthavAMoXqbjBPVgDCRd5LgT7qqKWUPXnYii3xCaHRBMfHH
The Path Forward
One source of testnets developer documentation has been updated with the
carthagenet test network. To strengthen the habit of allowing developers to test properly and publishing the code and changelog before the injection, the following testnets timeline will be maintained:
babylonnet(005), currently mirrors mainnet. Should the Carthage proposal be adopted on mainnet,
babylonnetwill cease to exist.
carthagenettest network, to undergo the timeline described above (see Carthagenet: What is the timeline?). If the Carthage proposal is adopted on mainnet, the
carthagenettest network will be maintained until the following proposal Dxxxxx is adopted on mainnet. Should the Carthage proposal not succeed through mainnet governance, the
carthagenettest network will cease to exist.
Gradually Evolving Tezos
In addition to more planning for testnet versions and releases of possible proposals, from now onwards, Cryptium Labs and Nomadic Labs intend to release possible protocol proposals at a more gradual pace, aiming at 1–2 feature proposals a year combined with 2–3 housekeeping proposals.