Troubleshoot the Wholesale CBDC Sample Application

You can manually enter account and token data if you lose data during the staging process.

The wholesale CBDC sample application stores account and token data in business objects in Oracle Visual Builder. Specifically, account details are stored in the CBCBDCStatusBO business object and token details are stored in the EarmarkingList business object. When you stage the application for the first time, these business objects are empty. As you interact with the application by initializing tokens and creating accounts, data is saved to these business objects.

If you stage the application again and do not select Keep Existing Data in Stage, the business objects are reset. This can lead to data mismatches between the business objects and the ledger, which in turn can cause application malfunctions.

You can prevent this issue by backing up all stage data before you stage the application again, and by using the Data Manager tool in Oracle Visual Builder to export and import business object data between environments.

If you mistakenly select Stage Application with a Clean Database or Replace Stage Data with Development Data when re-staging the application, you must manually re-enter the account and token details by completing the following steps.

  1. Use the getAllActiveAccounts and getAllSuspendedAccounts endpoints in the wholesale CBDC Postman collection to get information about all accounts in the network.
  2. Populate the CBCBDCStatusBO business object as described in the following tables.
    CBCBDCStatusBO Field Source Field Notes
    bankAccountID account_id  
    bankName org_id  
    bankStatus Active if the information comes from the getAllActiveAccounts endpoint, InActive if the information comes from the getAllSuspendedAccounts endpoint.
    bankTokenID token_id  
    bankUserID user_id  
    bankUserRole role_name, non_account_role_name See the following table for role mapping information.
    groupName application_groups  
    userRole See the following table for role mapping information.
    Condition Value
    role_name is null AND non_account_role_name is empty NO
    role_name is null AND non_account_role_name = token_admin Token Admin
    role_name is null AND non_account_role_name = org_admin Org Admin
    role_name is null AND non_account_role_name = token_auditor Token Auditor
    role_name is null AND non_account_role_name = org_auditor Org Auditor
    non_account_role_name is empty AND role_name is not null The value of role_name
  3. Leave all other fields in the CBCBDCStatusBO business object empty.
  4. Use the CurrencyCodeDetails business object to get information about tokens and populate the EarmarkingList business object with this information, as described in the following table. You must re-enter information for all tokens that were previously initialized.
    EarmarkingList field Source Description Example
    currencyCode currencyName in CurrencyCodeDetails Token ID used by the wholesale CBDC application USD
    currencyString currencyDesc in CurrencyCodeDetails Token description used by the wholesale CBDC application US Dollar
    earmarkingString   Purpose field entered when the token was initialized [user defined]