Skip to content
Branch: master
Find file History
alicer3 make pageSize configurable
allow pageSize to be read from ledgersync.conf or defined in code
Latest commit e0417bf Jul 26, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
design Fixed grammar in ledger-sync design document Nov 19, 2018
ledger-sync-service make pageSize configurable Jul 26, 2019
readme.rst Bumped up version to 3.0-SNAPSHOT Mar 1, 2019


Ledger Sync Service

The ledger sync service is a collection of three flows, designed to recover contract transactions shared with nodes in a business network. The intended use case is to validate the integrity of a node for monitoring and reporting purposes mainly. The actual recovery of transaction should be a last resort if other resiliency techniques are exhausted, particularity taking into account the fact the types of transactions that are recoverable are a subset of all possible types of transactions.

Flows can be composed in a four-step process from the perspective of a node that suspects the vault has lost integrity. The flows can be utilised in the following way:

  1. Determine potential counter parties by querying the business network operator.
  2. Evaluate pairwise if the ledger is consistent with regards to the transactions the counter party holds.
  3. If inconsistencies are flagged, the counter party can be queried for a more detailed report based on which both the parties can take further action (such as notifying the BNO) or recover the transactions found.
  4. Transaction IDs can then be used in the transaction recovery flow to recover individual transactions from counter parties.

How to add Ledger Sync Service to your project

Add the following lines to repositories and dependencies blocks of your build.gradle file:

repositories {
    maven {
      url ''

dependencies {
    cordapp "com.r3.businessnetworks:ledger-sync-service:2.0"

You can’t perform that action at this time.