Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,9 @@ tags:

# Transaction Validator Utility

{{< important >}}
Why must you run the Transaction Validator Utility (TVU) when upgrading?

If you are upgrading from a 4.11 Corda network, you must run the TVU on your 4.11 node database to verify that your transactions will successfully deserialize and verify using JDK17. Some classes within the JDK or your dependencies may serialize differently on JDK17 compared to JDK8. The purpose of this tool is to certify that this is **not** the case, and that your ledger is compatible with Corda 4.12. In the rare event that an issue arises, we will collaborate with you to develop a solution that facilitates the upgrade to Corda 4.12.

If you are upgrading from a pre-4.11 Corda network, and the result will be a mixed network of pre-4.11 and 4.12 nodes, you must perform validation steps on the older nodes to ensure compatibility with the upgraded nodes. See [Validating Corda 4.10 and earlier nodes]({{< relref "../../../upgrade-guide.md#validating-corda-410-and-earlier-nodes" >}}).
{{< /important >}}

To avoid post-migration errors when upgrading to Corda 4.12, you must first validate transactions committed to the database. You can do this by running TVU on your current Corda database. If no errors are detected during the inspection of your backchain, you can proceed with the migration.

{{< note >}}
In version 4.12, the Transaction Validator Utility was required when performing [an upgrade from 4.11 to 4.12]({{< relref "../../../../../4.12/enterprise/upgrade-guide.md" >}}). However, for an upgrade from 4.12 to 4.13, the tool is not required. Its purpose in 4.13 is to offer the following features.
{{< /note >}}

TVU's useful features include:

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,12 +14,16 @@ weight: 150

# Running the TVU

This section describes the requirements to run the Transaction Validator Utility (TVU) to verify a pre-4.12 database of transactions. Please read this section in conjunction with [Corda Enterprise Edition 4.11 to 4.12 upgrade guide]({{< relref "../../../upgrade-guide.md" >}}) which describes the upgrade process in more detail.
This section describes the requirements to run the Transaction Validator Utility (TVU). The TVU can be used to [validate the transactions in your database and for a number of other features]({{< relref "_index.md" >}}).

The TVU is compatible only with 4.11 database schemas. To verify transactions on a pre-4.11 database, you must first upgrade the database to version 4.11. You must run the TVU in the same environment as a 4.12 node, in terms of `cordapps` and `legacy-jars` folders, with the exception that the database it connects to is the 4.11 database being checked. Note that you do not need to create a `legacy-contracts` folder when running the TVU. The TVU will extract what it needs from the database. Before performing the following steps, ensure everything is backed up, as changes will be made to folders as described below.
{{< important >}}
The TVU included in the 4.13 release is compatible only with 4.13 database schemas.
{{</ important >}}

1. Place the TVU JAR in your Corda 4.11 node directory.
2. In the `cordapps` directory, remove the existing JARs and replace them with the 4.12 JDK17/Kotlin 1.9 equivalent JARs.
3. If needed, create a `legacy-jars` directory, then copy the third-party dependencies and any JARs you were dependent upon from the `drivers` directory to the `legacy-jars` directory . See [Corda Enterprise Edition 4.11 to 4.12 upgrade guide]({{< relref "../../../upgrade-guide.md" >}}) for details.
Note that you do not need to create a `legacy-contracts` folder when running the TVU. The TVU will extract what it needs from the database. Before performing the following steps, ensure everything is backed up, as changes will be made to folders as described below.

To verify transactions on a 4.13 database:

- Place the TVU JAR in your Corda 4.13 node directory.

You can now run the TVU using the command lines described in the [TVU CLI parameters]({{< relref "tvu-cli.md" >}}) section.