From 84c0733db93e6b2cd91050c48641562130f3ea0b Mon Sep 17 00:00:00 2001 From: Christoph Orth Date: Wed, 15 May 2024 13:10:33 +0200 Subject: [PATCH] fix(cactus-example-cbdc-bridging-backend): add missing CRPC port config option Signed-off-by: Christoph Orth --- .../process.env | 5 +++- .../main/typescript/cbdc-bridging-app-cli.ts | 10 ++++++-- .../src/main/typescript/cbdc-bridging-app.ts | 23 +++++++++++++++---- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/examples/cactus-example-cbdc-bridging-backend/process.env b/examples/cactus-example-cbdc-bridging-backend/process.env index b224de9957..351fca7848 100644 --- a/examples/cactus-example-cbdc-bridging-backend/process.env +++ b/examples/cactus-example-cbdc-bridging-backend/process.env @@ -2,4 +2,7 @@ API_HOST=localhost API_SERVER_1_PORT=4000 API_SERVER_2_PORT=4100 API_HOST_FRONTEND=localhost -API_PORT_FRONTEND=2000 \ No newline at end of file +API_PORT_FRONTEND=2000 +API_CRPC_HOST=localhost +API_SERVER_1_CRPC_PORT=6000 +API_SERVER_2_CRPC_PORT=6100 \ No newline at end of file diff --git a/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app-cli.ts b/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app-cli.ts index 67603e6ec8..c242197969 100755 --- a/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app-cli.ts +++ b/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app-cli.ts @@ -21,7 +21,7 @@ export async function launchApp( exampleConfig.authorizationConfigJson, ) as unknown as IAuthorizationConfig; exampleConfig.authorizationProtocol = AuthorizationProtocol.NONE; - + const convictConfig = await configService.newExampleConfigConvict(exampleConfig); @@ -53,7 +53,10 @@ export async function launchApp( if ( process.env.API_HOST == undefined || process.env.API_SERVER_1_PORT == undefined || - process.env.API_SERVER_2_PORT == undefined + process.env.API_SERVER_2_PORT == undefined || + process.env.API_CRPC_HOST == undefined || + process.env.API_SERVER_1_CRPC_PORT == undefined || + process.env.API_SERVER_2_CRPC_PORT == undefined ) { throw new Error("Env variables not set"); } @@ -65,6 +68,9 @@ export async function launchApp( clientGatewayKeyPair: clientGatewayKeyPair, serverGatewayKeyPair: serverGatewayKeyPair, logLevel: "DEBUG", + apiCrpcHost: process.env.API_CRPC_HOST, + apiServer1CrpcPort: parseInt(process.env.API_SERVER_1_CRPC_PORT), + apiServer2CrpcPort: parseInt(process.env.API_SERVER_2_CRPC_PORT), }; const cbdcBridgingApp = new CbdcBridgingApp(appOptions); diff --git a/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app.ts b/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app.ts index a5b8009516..33a569333a 100644 --- a/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app.ts +++ b/examples/cactus-example-cbdc-bridging-backend/src/main/typescript/cbdc-bridging-app.ts @@ -32,6 +32,9 @@ export interface ICbdcBridgingApp { apiHost: string; apiServer1Port: number; apiServer2Port: number; + apiCrpcHost: string; + apiServer1CrpcPort: number; + apiServer2CrpcPort: number; clientGatewayKeyPair: IKeyPair; serverGatewayKeyPair: IKeyPair; logLevel?: LogLevelDesc; @@ -39,6 +42,11 @@ export interface ICbdcBridgingApp { disableSignalHandlers?: true; } +interface ICrpcOptions { + host: string; + port: number; +} + export type ShutdownHook = () => Promise; export class CbdcBridgingApp { private readonly log: Logger; @@ -101,12 +109,11 @@ export class CbdcBridgingApp { nodeApiHostA, this.options.clientGatewayKeyPair, ); - const besuSatpGateway = await this.infrastructure.createServerGateway( nodeApiHostB, this.options.serverGatewayKeyPair, ); - + const clientPluginRegistry = new PluginRegistry({ plugins: [ new PluginKeychainMemory({ @@ -125,15 +132,18 @@ export class CbdcBridgingApp { }), ], }); - + clientPluginRegistry.add(fabricPlugin); clientPluginRegistry.add(fabricSatpGateway); serverPluginRegistry.add(besuPlugin); serverPluginRegistry.add(besuSatpGateway); - const apiServer1 = await this.startNode(httpApiA, clientPluginRegistry); - const apiServer2 = await this.startNode(httpApiB, serverPluginRegistry); + const crpcOptionsServer1 = {host: this.options.apiCrpcHost, port: this.options.apiServer1CrpcPort}; + const apiServer1 = await this.startNode(httpApiA, clientPluginRegistry, crpcOptionsServer1); + + const crpcOptionsServer2 = {host: this.options.apiCrpcHost, port: this.options.apiServer2CrpcPort}; + const apiServer2 = await this.startNode(httpApiB, serverPluginRegistry, crpcOptionsServer2); const fabricApiClient = new FabricApi( new Configuration({ basePath: nodeApiHostA }), @@ -184,6 +194,7 @@ export class CbdcBridgingApp { public async startNode( httpServerApi: Server, pluginRegistry: PluginRegistry, + crpcOptions: ICrpcOptions, ): Promise { this.log.info(`Starting API Server node...`); @@ -204,6 +215,8 @@ export class CbdcBridgingApp { config.grpcPort = 0; config.logLevel = this.options.logLevel || "INFO"; config.authorizationProtocol = AuthorizationProtocol.NONE; + config.crpcHost = crpcOptions.host; + config.crpcPort = crpcOptions.port; } const apiServer = new ApiServer({