Introducing Socket Firewall: Free, Proactive Protection for Your Software Supply Chain.Learn More
Socket
Book a DemoInstallSign in
Socket

@hyperledger/cactus-example-supply-chain-backend

Package Overview
Dependencies
Maintainers
2
Versions
56
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hyperledger/cactus-example-supply-chain-backend

An example application showing how to use Cactus when implementing a supply chain application where two or more blockchains are sharing data with each other to achieve a certain business outcome beneficial to multiple parties (business organizations).

latest
Source
npmnpm
Version
2.0.0
Version published
Weekly downloads
94
25.33%
Maintainers
2
Weekly downloads
 
Created
Source

Hyperledger Cactus Example - Supply Chain App

Usage

  • Execute the following from:
    docker run \
      --rm \
      --privileged \
      -p 3000:3000 \
      -p 3100:3100 \
      -p 3200:3200 \
      -p 4000:4000 \
      -p 4100:4100 \
      -p 4200:4200 \
      ghcr.io/hyperledger/cactus-example-supply-chain-app:2024-03-08--pr-3059-1
    
  • Observe the example application pulling up in the logs
    • the test ledger containers,
    • a test consortium with multiple members and their Cactus nodes
  • Wait for the output to show the message INFO (api-server): Cactus Cockpit reachable http://127.0.0.1:3200
  • Visit http://127.0.0.1:3200 in your web browser with Javascript enabled

Building and running the container locally

# 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 --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
# up ledger containers from within the container in order to have the example
# be completely self-contained where you don't need to worry about running
# multiple different ledgers jus this one container.
docker run --rm -it --privileged -p 3000:3000 -p 3100:3100 -p 3200:3200 -p 4000:4000 -p 4100:4100 -p 4200:4200 scaeb

Building the image with a specific npm package version:

DOCKER_BUILDKIT=1 docker build \
  --build-arg NPM_PKG_VERSION=jwt-supply-chain \
  --file ./examples/cactus-example-supply-chain-backend/Dockerfile \
  --tag scaeb \
  ./

Running the Example Application Locally

Make sure you have all the dependencies set up as explained in BUILD.md

On the terminal, issue the following commands:

  • npm run enable-corepack
  • npm run configure
  • yarn start:example-supply-chain

Debugging the Example Application Locally

On the terminal, issue the following commands (steps 1 to 6) and then perform the rest of the steps manually.

  • npm run enable-corepack
  • yarn run configure
  • yarn build:dev
  • cd ./examples/cactus-example-supply-chain-backend/
  • yarn install
  • cd ../../
  • Locate the .vscode/template.launch.json file
  • Within that file locate the entry named "Example: Supply Chain App"
  • Copy the VSCode debug definition object from 2) to your .vscode/launch.json file
  • 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
  • When the application finishes loading, the JWT token generated is displayed on the terminal
  • Visit http://localhost:3200 in a web browser with Javascript enabled and insert the token when prompted

Live Reloading the GUI Application

  • npm run enable-corepack
  • npm run configure
  • yarn build:dev
  • Locate the .vscode/template.launch.json file
  • Within that file locate the entry named "Example: Supply Chain App"
  • Copy the VSCode debug definition object from 2) to your .vscode/launch.json file
  • 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
  • cd ./examples/cactus-example-supply-chain-frontend/
  • yarn serve:proxy
  • When the application finishes loading, the JWT token generated is displayed on the terminal
  • Visit http://localhost:8000 in a web browser with Javascript enabled and insert the token when prompted
  • At this point if you modify the source code of the GUI application under the ./examples/cactus-example-supply-chain-frontend/ path it will automatically reload the browser window (you will need to paste in the JWT again when this happens)

Keywords

Hyperledger

FAQs

Package last updated on 18 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts