Developer Code Releases

If you need to work on the latest version of coda, you might be asked to install a version from our develop or unstable package repositories. This guide is meant to help you navigate that process.

This can all be done with a few apt configuration and commands.

If you followed the main testnet install instructions, the current repo you’re using is identified in your apt sources file:

$ cat /etc/apt/sources.list.d/coda.list
deb [trusted=yes] release main

If you need to use ‘develop’ or ‘unstable’, you can replace the keyword ‘release’ in the above file. Everything else stays the same.

After making that change, you need to run
sudo apt-get update
to get the newest list of available packages and versions to run.

You can check what PACKAGES are available on the new repo using this command:
apt-cache search ^coda

You can then check what VERSIONS of a specific package (in this case coda-testnet-postake-medium-curves) is available by using this command:
apt-cache madison coda-testnet-postake-medium-curves

The output will look a little like this

coda-testnet-postake-medium-curves | 0.0.11-beta1+294857-develop-545f5cd-PVce8fc80c | develop/main amd64 Packages
coda-testnet-postake-medium-curves | 0.0.11-beta1+294739-develop-55d6510-PVce8fc80c | develop/main amd64 Packages
coda-testnet-postake-medium-curves | 0.0.11-beta1+294676-develop-2311385-PVce8fc80c | develop/main amd64 Packages
coda-testnet-postake-medium-curves | 0.0.11-beta1+294568-develop-0e2267c-PVce8fc80c | develop/main amd64 Packages

The second field is the VERSION.
Those are a little tricky to decode, but here’s the gist:


Code with the same PROVING_KEY_HASH is generally compatible with each other.

To install a specific version you can run install with the version specified:
sudo apt-get install -y coda-testnet-postake-medium-curves=0.0.11-beta1+294857-develop-545f5cd-PVce8fc80c

To see what version APT thinks it should install with regular ‘upgrade’ commands, you can run:
apt-cache policy coda-testnet-postake-medium-curves
and it will tell you what the currently install version is and what the candidate replacement is.
(WARNING: This assumes you wanted to be on the LATEST and that the versioning logic is all correct.)