1. Research & development
  2. > Blog >
  3. Carthage: changelog and testnet

Carthage: changelog and testnet

14 November 2019
Nomadic Labs


We are happy to announce a new protocol proposal code-named Carthage, developed together with Cryptium Labs.

After the feature rich Babylon, Carthage is a much needed housekeeping release. Carthage contains exclusively fixes and small improvements across the board, the more relevant being a corrected formula for rewards. The only “novelty” is an increase in the gas limit which will allow to execute more smart contracts.

A testnet called carthagenet has already been running Babylon since last week and will amend to Carthage in the next days to simulate a protocol migration. We encourage users and developers to join the testnet and the discussion on the tezos-backing slack.

As usual refer to the protocol documentation page for more details and for the full Changelog.

As promised in our previous post, in order to give the community time to review and discuss this proposal, we are not injecting it ourself but we are simply providing the code. Any baker supportive of this proposal can inject it following the instructions below.

Getting the source code of the proposals

The source code of this proposal is available in this tar archive.

To compute the hash, you can use the tezos-protocol-compiler as follows. The result should be PtCarthavAMoXqbjBPVgDCRd5LgT7qqKWUPXnYii3xCaHRBMfHH.

mkdir proposal && cd proposal
curl https://research-development.nomadic-labs.com/files/carthage_006_PtCartha.tar | tar -x
tezos-protocol-compiler -hash-only carthage_006_PtCartha/lib_protocol

If you want to directly investigate how Carthage differs from the current protocol, you can use diff against folder proto_005_PsBabyM1 of the mainnet source code. All the changes should be the ones detailed in the changes section, except for the removal of the single use migration code from the previous upgrade (from 004_Pt24m4xi to 005_PsBabyM1).

Injecting the proposal

Any active baker can inject the proposal by simply downloading the code, injecting it in a running mainnet node with tezos-admin-client and using the submit command of tezos-client.

$ tezos-admin-client inject protocol carthage_006_PtCartha/lib_protocol
Injected protocol PtCarthavAMoXqbjBPVgDCRd5LgT7qqKWUPXnYii3xCaHRBMfHH successfully

$ tezos-admin-client list protocols
PtCarthavAMo         <------

$ tezos-client submit proposals for <delegate> PtCarthavAMo