# Private Transactions Migration 

Hyperledger Besu v1.4 implements a new data structure for private state storage that is not backwards compatible. 
A migration will be performed when starting v1.4 for the first time to reprocess existing private transactions 
created using v1.3.5 or later and re-create the private state data in the v1.4 format. 

**Important**  

All nodes with existing private transactions from 1.3.5 or later will be migrated to the new private 
state storage when upgrading to v1.4. It is not possible to upgrade to v1.4 without migrating. 

## Private transactions created using v1.3.4 or earlier 

A critical issue for privacy users with private transactions created using Hyperledger Besu v1.3.4 
or earlier has been identified. If you have a network with private transactions created using v1.3.4 
or earlier, please read the following and take the appropriate steps: 

https://wiki.hyperledger.org/display/BESU/Critical+Issue+for+Privacy+Users 

## How to migrate 

**Important** 

As a precaution (that is, resyncing should not be required), ensure your Hyperledger Besu database is backed-up 
or other Besu nodes in your network are available to resync from if the migration does not complete as expected.  

We recommend that all nodes in a network do not upgrade and migrate at once. 

To migrate, add the `--privacy-enable-database-migration` flag to your Besu command line options. The migration starts 
automatically when this flag is specified. If you have existing private transactions and do not specify this flag, 
v1.4 will not start.  

After the migration starts, logs display the progress.  When the migration is complete, Besu continues 
starting up as usual. 

## During migration  

Do not stop the migration running once it has started. If the migration is stopped, you will need to restore
your Besu database from backup and restart the migration process. 

## Migration support 

If you have a long running network with a large volume of private transactions and/or would like to discuss
the migration process with us before upgrading, contact us at support@pegasys.tech  
