project
project copied to clipboard
Complete TigerBeetle Ledger Adapter Implementation
Description As a Mojaloop, implementer, I want to the settlement entries prepared by the Mojaloop system to be created in timely and reliable matter even when high volumes of payments are flooded to the system so that the liquidity risk taken by each participant is limited.
To achieve the requirement above, TigerBeetle has been selected - decision approved by the TGB [date to be added]. At present, the beta code drop of vNext included a "work in progress" version of a TigerBeetle backed ledger implementation. The implementation must make full use of TigerBeetle provided features to facilitate the following key requirements:
- Multiple active ledger service instances all concurrently handling transfer clearing requests (reservations, commitments, cancellations) for any active participants (no participant to instance affinity).
[Question: with the projection of volumes for the first drop of vNext do we need this right from the start?] 2. All ledger service instances exclusively using a TigerBeetle service cluster as its backing store for both ledger entries and account balances. 3. Supplemental transfer data which does not fit within the TigerBeetle data model e.g. Quote related data, ILP related data should be stored in an alternative, strongly consistent backing data store (discussion on possible use of MongoDB required)
[Question]: do we have the lists of fields established already or this is needs to be analysed as well? 4. Participant liquidity checks should be facilitated by TigerBeetle's account level balance guarantees i.e. https://docs.tigerbeetle.com/reference/accounts#flagsdebits_must_not_exceed_credits and/or https://docs.tigerbeetle.com/reference/accounts#flagscredits_must_not_exceed_debits.
Acceptance Criteria
- All the user stories required to deliver a MVP of this epic have been created
- All the user stories have been T-shirt sized so that they can be added in the backlog
@bushjames , I have changed the deception of the ticket, please have a look
To Do: @pedrosousabarreto to read the ticket and then understand whether a new tickets to be created to capture the work already done.
FYI @bushjames
Currently implementing control account strategy to maximise performance.