Blog Article

Protocol 16 Upgrade Guide


Stellar Development Foundation

Publishing date

Protocol upgrade

Network halt

Update: on April 10, 2021 at 1500 UTC, Stellar network validators voted to upgrade the network to Protocol 16. Upgrades take effect immediately, which means the network is now running that new version of the protocol. If you run a Stellar node of any kind and are experiencing issues, you can probably resolve them by installing Protocol-16 compatible software.

Short version

  • On Saturday, April 10, 2021 at 1500 UTC, validators voted to upgrade the network to Protocol 16
  • If you are having issues with Stellar Core and/or Horizon, you likely need to update your software to the latest releases, which are...
  • Stellar Core v16.0.0. Download it here.
  • Horizon v2.1.0. Download it here.

Longer version

As many of you know, on April 6, 2021, there was an issue that caused several Stellar-network nodes to temporarily go offline. It affected both non-validating Horizon nodes and validating nodes, including those run by the Stellar Development Foundation, and while there was enough decentralization and redundancy for the network to persist, some organizations had difficulty recovering network access.

This short post won't get into the details of what happened — if you want to know more, check out the FAQ, which we will continue to update — rather, the goal here is to guide the ecosystem through the recovery process. To help all affected nodes restore service, we released Stellar Core v16.0.0, and on Saturday, April 10, 2021 at 1500 UTC, validators voted to accept that release and upgrade the network to Protocol 16. In advance of that upgrade, many node operators installed Protocol-16 compatible software, but if you're reading this, you may not have. Fear not! To get back and running, al you have to do is follow the steps below.

What you need to do:

  • Download and install Stellar Core v16.0.0. It contains the crucial fix that will allow the nodes that are currently offline to rejoin the network.
  • If you run Horizon, make sure you have upgraded to Horizon v2.1.0. It has logic that allows it to work with Protocol 16, and that logic is absent from earlier versions of Horizon
  • When upgrading to Horizon v2.1.0, there is a database migration, which you can read about in the release notes, but it should only take a few minutes
  • If you run Horizon with a standalone Stellar Core instance (the old architecture) and you want to keep it that way, make sure to set the following flag: ENABLE_CAPTIVE_CORE_INGESTION=false
  • If you run Horizon with Captive Core (the new architecture), there are no additional steps after upgrading Stellar Core and Horizon.
  • If, however, your Horizon is currently stuck and you want to ingest a full history of the ledger, you will need to follow the recovery steps in this guide. There are instructions for how unstick both old-architecture and new-architecture setups

We appreciate everyone's support, cooperation, and patience as we worked to resolve these issues, and we are excited for this upgrade to restore service to anyone who is still having trouble. If you have questions, please feel free to reach out on the stellar.public Keybase #validators channel.

Final note: the features that were originally planned for inclusion in Protocol 16, including Asset Clawback, are not a part of this release. They are now slated for Protocol 17.