Implementing cbdc using R3 corda token SDK
(a) wholesaleCBDC : The wholesale CBDCs are suitable for financial institutions holding reserve deposits in a central bank. The wholesale central bank digital currency can help in improving efficiency of payments and security settlement. Additionally, it also resolves the concerns of liquidity and counterparty credit.
We can demonstrate a CBDC as a sequence of state changes as depicted in the diagram below:
- Collateralization of fiat currency against the issued CBDC as a bearer asset
- Wholesale transfer moves the CBDC from the central bank to participant 1
- Withdraw, representing the movement of the CBDC from the wholesale ecosystem to the retail ecosystem
- CBDC transfers to from one retail holder to another
- Retail user deposited the CBDC back into the wholesale system
- Wholesale transfers back the CBDC to the central bank
- The central banks redeems the CBDC against the original fiat funds
Steps to build
1. cd ../cbdc/wholesaleCBDC/
2. ./gradlew deployNodes
3. cd build/nodes/
4. ./runnodes
Network Nodes Setup :
- Central Bank (UK Mint): O=UK Mint, L=London, C=GB
- Wholesale Bank/Commercial Bank (Abbey Bank): O=Abbey, L=London, C=GB
- Retail Bank (HSBC Bank) :O=HSBC, L=London, C=GB
Please run the following steps in given order.
1.Goto node : O=UK Mint, L=London, C=GB : Central bank issue e-GBP (CBDC) worth of 100 GBP
flow start IssueEGBPFlow centralBank: "O=UK Mint, L=London, C=GB",amount: 100
- Goto node O=UK Mint, L=London, C=GB : Wholesale transfer moves the CBDC from the central bank to Commercial Bank (Abbey Bank)
flow start TransferEGBPFlow party: "O=Abbey, L=London, C=GB", amount: 100
- Goto node : O=Abbey, L=London, C=GB Abbey Bank transfer the CBDC to Retail Bank(HSBC Bank)
flow start TransferEGBPFlow party: "O=HSBC, L=London, C=GB", amount: 100
- Goto node : O=HSBC, L=London, C=GB Retail(HSBC) user deposited the CBDC back into the wholesale system(Abbey)
flow start TransferEGBPFlow party: "O=Abbey, L=London, C=GB", amount: 100
-
GOTO Node :O=Abbey, L=London, C=GB Wholesale transfers(Abbey) back the CBDC to the central bank(UK mint)
flow start TransferEGBPFlow party: "O=UK Mint, L=London, C=GB", amount: 100 -
GOTO node:O=UK Mint, L=London, C=GB : The central banks redeems the CBDC against the original fiat funds
flow start RedeemEGbpFlow amount: 100you will find that all the tokens are destroyed after it has been through the wholesale payment system using this flow
flow start GetCBDCBalanceshould show 0(zero)
Note : you can check the balance of token on any node by running
`flow start GetCBDCBalance`
