diff --git a/README-cactus.md b/README-cactus.md index 3aef25c1a3..c798249b65 100644 --- a/README-cactus.md +++ b/README-cactus.md @@ -34,9 +34,9 @@ As blockchain technology proliferates, blockchain integration will become an inc -p 4200:4200 \ ghcr.io/hyperledger/cactus-example-supply-chain-app:2024-03-08--pr-3059-1 ``` -3. Wait for the output to show the message `INFO (api-server): Cactus Cockpit reachable http://0.0.0.0:3200` +3. Wait for the output to show the message `INFO (supply-chain-app): SupplyChainApp Web GUI - reachable at: http://127.0.0.1:3200` 4. Token generated by the application is displayed below -5. Visit http://localhost:3200 in a web browser with Javascript enabled and insert the token when prompted +5. Visit http://127.0.0.1:3200 in a web browser with Javascript enabled and insert the token when prompted 6. Use the graphical user interface to create data on both ledgers and observe that a consistent view of the data from different ledgers is provided. Once the last command has finished executing, open link printed on the console with a web browser of your choice diff --git a/docs/docs/cactus/examples/supply-chain-app.md b/docs/docs/cactus/examples/supply-chain-app.md index 784d8c9a11..8787eee3d3 100644 --- a/docs/docs/cactus/examples/supply-chain-app.md +++ b/docs/docs/cactus/examples/supply-chain-app.md @@ -23,9 +23,9 @@ Usage 2. a test consortium with multiple members and their Cactus nodes -3. Wait for the output to show the message `INFO (api-server): Cactus Cockpit reachable http://0.0.0.0:3200` +3. Wait for the output to show the message `INFO (api-server): Cactus Cockpit reachable http://127.0.0.1:3200` -4. Visit http://0.0.0.0:3200 in your web browser with Javascript enabled +4. Visit http://127.0.0.1:3200 in your web browser with Javascript enabled Building and running the container locally @@ -76,23 +76,17 @@ On the terminal, issue the following commands (steps 1 to 6) and then perform th 3. `yarn build:dev` -4. `cd ./examples/cactus-example-supply-chain-backend/` - -5. `yarn install` - -6. `cd ../../` - -7. Locate the `.vscode/template.launch.json` file +4. Locate the `.vscode/template.launch.json` file -8. Within that file locate the entry named `"Example: Supply Chain App"` +5. Within that file locate the entry named `"Example: Supply Chain App"` -9. Copy the VSCode debug definition object from 2) to your `.vscode/launch.json` file +6. Copy the VSCode debug definition object from 2) to your `.vscode/launch.json` file -10. At this point the VSCode `Run and Debug` panel on the left should have an option also titled `"Example: Supply Chain App"` which starts the application +7. At this point the VSCode `Run and Debug` panel on the left should have an option also titled `"Example: Supply Chain App"` which starts the application -11. When the application finishes loading, the JWT token generated is displayed on the terminal +8. When the application finishes loading, the JWT token generated is displayed on the terminal -12. Visit http://localhost:3200 in a web browser with Javascript enabled and insert the token when prompted +9. Visit http://localhost:3200 in a web browser with Javascript enabled and insert the token when prompted Live Reloading the GUI Application diff --git a/examples/cactus-example-supply-chain-backend/README.md b/examples/cactus-example-supply-chain-backend/README.md index 8543e69029..e2f8b97f62 100644 --- a/examples/cactus-example-supply-chain-backend/README.md +++ b/examples/cactus-example-supply-chain-backend/README.md @@ -19,8 +19,8 @@ 2. Observe the example application pulling up in the logs 1. the test ledger containers, 2. a test consortium with multiple members and their Cactus nodes -3. Wait for the output to show the message `INFO (api-server): Cactus Cockpit reachable http://0.0.0.0:3200` -4. Visit http://0.0.0.0:3200 in your web browser with Javascript enabled +3. Wait for the output to show the message `INFO (api-server): Cactus Cockpit reachable http://127.0.0.1:3200` +4. Visit http://127.0.0.1:3200 in your web browser with Javascript enabled ## Building and running the container locally @@ -28,7 +28,11 @@ # Change directories to the project root # Build the docker image and tag it as "scaeb" for supply chain app example backend -DOCKER_BUILDKIT=1 docker build -f ./examples/cactus-example-supply-chain-backend/Dockerfile . -t scaeb +DOCKER_BUILDKIT=1 docker build --file \ + ./examples/cactus-example-supply-chain-backend/Dockerfile \ + . \ + --tag scaeb \ + --tag ghcr.io/hyperledger/cactus-example-supply-chain-app:$(git describe --contains --all HEAD)_$(git rev-parse --short HEAD)_$(date -u +"%Y-%m-%dT%H-%M-%SZ") # Run the built image with ports mapped to the host machine as you see fit # The --privileged flag is required because we use Docker-in-Docker for pulling diff --git a/examples/cactus-example-supply-chain-backend/src/main/typescript/supply-chain-app.ts b/examples/cactus-example-supply-chain-backend/src/main/typescript/supply-chain-app.ts index 3ab9eeba07..dd45b099e9 100644 --- a/examples/cactus-example-supply-chain-backend/src/main/typescript/supply-chain-app.ts +++ b/examples/cactus-example-supply-chain-backend/src/main/typescript/supply-chain-app.ts @@ -585,7 +585,7 @@ export class SupplyChainApp { properties.cockpitHost = addressInfoCockpit.address; properties.cockpitPort = addressInfoCockpit.port; properties.grpcPort = 0; // TODO - make this configurable as well - properties.logLevel = this.options.logLevel || "INFO"; + properties.logLevel = "WARN"; // silence the logs about 0.0.0.0 web hosts properties.authorizationProtocol = AuthorizationProtocol.JSON_WEB_TOKEN; properties.authorizationConfigJson = await this.getOrCreateAuthorizationConfig(); @@ -602,6 +602,12 @@ export class SupplyChainApp { await apiServer.start(); + const restApiUrl = `http://127.0.0.1:${properties.apiPort}`; + this.log.info("Cacti API Server - REST API reachable at: %s", restApiUrl); + + const guiUrl = `http://127.0.0.1:${properties.cockpitPort}`; + this.log.info("SupplyChainApp Web GUI - reachable at: %s", guiUrl); + return apiServer; } } diff --git a/package.json b/package.json index 6c71fe66a2..3a472d7546 100644 --- a/package.json +++ b/package.json @@ -46,7 +46,7 @@ "generate-api-server-config": "node ./tools/generate-api-server-config.js", "sync-ts-config": "TS_NODE_PROJECT=tools/tsconfig.json node --experimental-json-modules --loader ts-node/esm ./tools/sync-npm-deps-to-tsc-projects.ts", "start:api-server": "node ./packages/cactus-cmd-api-server/dist/lib/main/typescript/cmd/cactus-api.js --config-file=.config.json", - "start:example-supply-chain": "yarn build:dev && cd ./examples/cactus-example-supply-chain-backend/ && yarn && yarn start", + "start:example-supply-chain": "yarn build:dev && cd ./examples/cactus-example-supply-chain-backend/ && yarn start", "start:example-carbon-accounting": "CONFIG_FILE=examples/cactus-example-carbon-accounting-backend/example-config.json node examples/cactus-example-carbon-accounting-backend/dist/lib/main/typescript/carbon-accounting-app-cli.js", "start:example-cbdc-bridging-app": "node -r ts-node/register examples/cactus-example-cbdc-bridging-backend/dist/lib/main/typescript/cbdc-bridging-app-cli.js dotenv_config_path=examples/cactus-example-cbdc-bridging-backend/process.env", "purge-build-cache": "del-cli .build-cache/*",