Update CBDC app to use the latest SATP implementation - this is using SATP client API (API3) for the CBDC example to make a gateway request.
Create a Dockerfile for an example that uses SATP gateways, with the executable being src/main/typescript/app-cli.ts. See example examples/cactus-example-carbon-accounting-backend/src/main/typescript/carbon-accounting-app-cli.ts. We assume that the gateways are running, the CBDC code spawns the rest. Boilerplate:
Please see the other examples of dockerized plugins. plugin `packages/cactus-plugin-persistence-fabric/Dockerfile` is dockerized by `examples/carbon-accounting/Dockerfile`. another example: `examples/cactus-example-cbdc-bridging-frontend/Dockerfile`
This issue also needs work on the UI:
Extend the existing CBDC example user interface to showcase the gateway's processes: creating transaction, sending, asking for user permission, balances changed. This includes leveraging the Grafana board that has been created, which should be linked to the user interface.
1. User interface should preserve existing functionality (do transfers)
2. Should be possible control transfer phases in the interface, and track the transactions in real time
3. Record an end to end demo
We need to Dockerize SATP applications for easy deployment and testing. It should be configurable and take configuration from ENV variables.
Tasks.
WORKDIR /app
COPY package*.json ./ RUN npm ci
COPY . . RUN npm run build
Production stage
FROM node:20
WORKDIR /app
COPY --from=build /app/package*.json ./ COPY --from=build /app/dist ./dist COPY --from=build /app/node_modules ./node_modules
Set up environment variables
ENV NODE_ENV=production ENV PORT=3000
Expose necessary ports
EXPOSE $PORT
Start the SATP gateway example
CMD ["node", "dist/src/main/typescript/app-cli.js"]