diff --git a/.github/workflows/demo.yml b/.github/workflows/demo.yml index adb072c..7486fc3 100644 --- a/.github/workflows/demo.yml +++ b/.github/workflows/demo.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: demo: name: demo - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Set up Go 1.16 uses: actions/setup-go@v1 @@ -16,7 +16,7 @@ jobs: node-version: '12' - uses: actions/checkout@v2 - name: Cache go modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | ~/.cache/go-build @@ -25,7 +25,7 @@ jobs: restore-keys: | ${{ runner.os }}-go- - name: Cache node modules - uses: actions/cache@v2 + uses: actions/cache@v4 env: cache-name: cache-node-modules with: @@ -48,7 +48,7 @@ jobs: make demo unit-test: name: unit-test - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - name: Set up Go 1.16 uses: actions/setup-go@v2 @@ -56,7 +56,7 @@ jobs: go-version: 1.16 - uses: actions/checkout@v2 - name: Cache go modules - uses: actions/cache@v2 + uses: actions/cache@v4 with: path: | ~/.cache/go-build diff --git a/.github/workflows/zip.yml b/.github/workflows/zip.yml index d212a3e..5801b7b 100644 --- a/.github/workflows/zip.yml +++ b/.github/workflows/zip.yml @@ -8,7 +8,7 @@ on: jobs: zip: name: zip - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 env: ARTIFACT_NAME: fabric-besu-cross-demo steps: diff --git a/demo/README.md b/demo/README.md index 15f31d0..4293369 100644 --- a/demo/README.md +++ b/demo/README.md @@ -1,13 +1,35 @@ # Demo -## Start Besu +## Requirements + +- [Go](https://go.dev/) 1.16–1.18 +- [Docker](https://www.docker.com/products/docker-desktop) +- [jq](https://stedolan.github.io/jq/) +- Node.js v12-v16 + +## Testing the demo + +This demo is primarily developed and validated on **Go 1.18**, and is supported on **Go 1.16–1.18**. +**Go 1.19 and later may exhibit unstable behavior** due to dependency and runtime differences. +To ensure a reproducible setup, we **strongly recommend Go 1.18**. -### 1. Generate networkFiles ``` -$ make init +# 1) Build artifacts and tools +make build + +# 2) Start local networks (Besu / Fabric / Proxy) +make network + +# 3) Run demo scenarios +make demo ``` -### 2. Start network +## Tear Down / Clean + ``` -$ make network +# Stop networks and clean up +make network-down + +# Clean generated files only +make clean ``` diff --git a/demo/chains/besu/Makefile b/demo/chains/besu/Makefile index 8eac0e6..18ae589 100644 --- a/demo/chains/besu/Makefile +++ b/demo/chains/besu/Makefile @@ -8,12 +8,12 @@ generate-blockchain-config: .PHONY: network network: generate-blockchain-config - BESU_VERSION=${BESU_VERSION} docker-compose up -d --build + BESU_VERSION=${BESU_VERSION} docker compose up -d --build make -C ../../../contracts/erc721 truffle-migrate-demo .PHONY: network-down network-down: - docker-compose down -v --remove-orphans + docker compose down -v --remove-orphans .PHONY: clean clean: diff --git a/demo/chains/fabric/Makefile b/demo/chains/fabric/Makefile index 8066e8c..fd6662d 100644 --- a/demo/chains/fabric/Makefile +++ b/demo/chains/fabric/Makefile @@ -17,7 +17,7 @@ network: .PHONY: network-common network-common: - IMAGE_TAG=${FABRIC_VERSION} ${DOCKER_COMPOSE} up -d \ + FABRIC_PLATFORM=${FABRIC_PLATFORM} IMAGE_TAG=${FABRIC_VERSION} ${DOCKER_COMPOSE} up -d \ fabric-orderer.fabric-besu-cross-demo.com \ fabric-peer0.platformer.fabric-besu-cross-demo.com \ fabric-peer0.orga.fabric-besu-cross-demo.com \ @@ -25,14 +25,14 @@ network-common: .PHONY: network-chaincode network-chaincode: - IMAGE_TAG=${FABRIC_VERSION} ${DOCKER_COMPOSE} up -d \ + FABRIC_PLATFORM=${FABRIC_PLATFORM} IMAGE_TAG=${FABRIC_VERSION} ${DOCKER_COMPOSE} up -d \ fabric-chaincode.platformer.fabric-besu-cross-demo.com \ fabric-chaincode.orga.fabric-besu-cross-demo.com \ fabric-chaincode.orgb.fabric-besu-cross-demo.com .PHONY: network-down network-down: - IMAGE_TAG=${FABRIC_VERSION} ${DOCKER_COMPOSE} down -v --remove-orphans + FABRIC_PLATFORM=${FABRIC_PLATFORM} IMAGE_TAG=${FABRIC_VERSION} ${DOCKER_COMPOSE} down -v --remove-orphans .PHONY: clean clean: diff --git a/demo/chains/fabric/docker-compose.yaml b/demo/chains/fabric/docker-compose.yaml index 3f1250c..23bef40 100644 --- a/demo/chains/fabric/docker-compose.yaml +++ b/demo/chains/fabric/docker-compose.yaml @@ -7,6 +7,7 @@ services: fabric-orderer.fabric-besu-cross-demo.com: container_name: fabric-orderer.fabric-besu-cross-demo.com image: hyperledger/fabric-orderer:${IMAGE_TAG} + platform: ${FABRIC_PLATFORM} environment: - FABRIC_LOGGING_SPEC=INFO - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 @@ -31,6 +32,7 @@ services: fabric-peer0.platformer.fabric-besu-cross-demo.com: container_name: fabric-peer0.platformer.fabric-besu-cross-demo.com image: hyperledger/fabric-peer:${IMAGE_TAG} + platform: ${FABRIC_PLATFORM} environment: - FABRIC_LOGGING_SPEC=INFO - CORE_PEER_ID=fabric-peer0.platformer.fabric-besu-cross-demo.com @@ -60,6 +62,7 @@ services: fabric-peer0.orga.fabric-besu-cross-demo.com: container_name: fabric-peer0.orga.fabric-besu-cross-demo.com image: hyperledger/fabric-peer:${IMAGE_TAG} + platform: ${FABRIC_PLATFORM} environment: - FABRIC_LOGGING_SPEC=INFO - CORE_PEER_ID=fabric-peer0.orga.fabric-besu-cross-demo.com @@ -89,6 +92,7 @@ services: fabric-peer0.orgb.fabric-besu-cross-demo.com: container_name: fabric-peer0.orgb.fabric-besu-cross-demo.com image: hyperledger/fabric-peer:${IMAGE_TAG} + platform: ${FABRIC_PLATFORM} environment: - FABRIC_LOGGING_SPEC=INFO - CORE_PEER_ID=fabric-peer0.orgb.fabric-besu-cross-demo.com diff --git a/demo/chains/fabric/scripts/startCC.sh b/demo/chains/fabric/scripts/startCC.sh index 1440b0a..5a2827c 100755 --- a/demo/chains/fabric/scripts/startCC.sh +++ b/demo/chains/fabric/scripts/startCC.sh @@ -12,4 +12,4 @@ set -x CHAINCODE_CCID_PLATFORMER=${CHAINCODE_CCID_PLATFORMER} \ CHAINCODE_CCID_ORGA=${CHAINCODE_CCID_ORGA} \ CHAINCODE_CCID_ORGB=${CHAINCODE_CCID_ORGB} \ -docker-compose -f docker-compose-chaincode.yaml up -d \ +docker compose -f docker-compose-chaincode.yaml up -d \ diff --git a/demo/var.mk b/demo/var.mk index 3d18544..9d49a12 100644 --- a/demo/var.mk +++ b/demo/var.mk @@ -1,6 +1,7 @@ DOCKER ?= docker DOCKER_BUILD ?= $(DOCKER) build --rm --no-cache --pull -DOCKER_COMPOSE ?= docker-compose +DOCKER_COMPOSE ?= docker compose FABRIC_VERSION ?=2.2.0 FABRIC_CA_VERSION ?=1.4.7 +FABRIC_PLATFORM ?=linux/amd64