The main components of the Lab are an application programming interface (API) platform and demonstration ledger, a management portal, sample applications, and a smart contract platform, which is separate to the core functionalities.
API platform and demonstration ledger
The API platform exposes a set of APIs that allow access to the core functionalities of the Lab. Those functionalities are held on a demonstration ledger, built on a relational database management system (ie not blockchain). No decision has been made on whether distributed ledger technology (DLT) based components would form part of a digital pound design. In the Lab, we intend to focus on testing the interoperability between centralised and DLT systems (see ‘Smart contract platform’ below).
Management portal
The management portal is where participants can check documentation, frequently asked questions, usage statistics and errors, or make feature and service requests.
Sample applications
The sample applications enable the Bank to demonstrate the capabilities of the Lab to participants and the wider industry and might help jump-start participants to create their use cases.
The sample applications include:
- two sample PIPs and wallet applications
- a mock e-commerce website to demonstrate various checkout experiences
- a chat application to demonstrate how users might connect their wallets to third-party applications while maintaining user privacy and security to make and co-ordinate payments
Participants will have two routes of entry into the Lab:
- Creating their own PIPs and wallets
- Using our sample PIPs and wallets. This will support participants who are interested in building their use cases but would prefer to integrate an existing wallet to avoid having to build basic functionalities, like log-in and balance display screens. These sample applications will be extended throughout the operation of the Lab.
However, if there is functionality required to support a use case, that doesn’t already exist in the sample PIP and sample wallets, participants will be required to build their own PIP and wallet to support their use case.
Smart contract platform
The smart contract platform communicates with the core functionalities of the Lab through the sample PIPs and enables the creation and execution of smart contracts. Participants can also connect their own PIPs to the smart contract platform if preferred. It has an access provider component which allows participants read and write access to the smart contract platform, so they do not have to host the logic themselves.
The demonstration digital pounds in the Lab are held on the demonstration ledger, not the smart contract platform. There will be functionality that allows the swapping of items on the smart contract platform for digital pounds, helping test opportunities for interoperability between blockchain and non-blockchain systems.
The smart contract platform is built using Hyperledger Besu and provides a secure environment for participants to test interoperability of the digital pound with digital assets and programmable ledgers.