From 8c844181691e53fb8ed50b577102ab0914b19bb2 Mon Sep 17 00:00:00 2001 From: munapower Date: Sat, 10 Jan 2026 13:00:28 -0300 Subject: [PATCH 1/5] modifications for ccaas Signed-off-by: munapower --- samples/deployment/k8s/core.yaml | 9 ++++++--- samples/deployment/k8s/generate.sh | 2 +- samples/deployment/k8s/org1/org1-peer0-deployment.yaml | 2 ++ 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/samples/deployment/k8s/core.yaml b/samples/deployment/k8s/core.yaml index 1578985d5..a0190bb8b 100644 --- a/samples/deployment/k8s/core.yaml +++ b/samples/deployment/k8s/core.yaml @@ -562,9 +562,12 @@ chaincode: # - GOPROXY externalBuilders: # FPC Addition 0: external builder for fpc-c chaincode - - path: /builders/external - name: fpc-c - propagateEnvironment: + # - path: /builders/external + # name: fpc-c + - name: ccaas_builder + path: /opt/hyperledger/ccaas_builder/ccaas/bin + propagateEnvironment: + - CHAINCODE_AS_A_SERVICE_BUILDER_CONFIG - CORE_PEER_ID - FPC_HOSTING_MODE - FABRIC_LOGGING_SPEC diff --git a/samples/deployment/k8s/generate.sh b/samples/deployment/k8s/generate.sh index 96ffe6f72..3d402ee51 100755 --- a/samples/deployment/k8s/generate.sh +++ b/samples/deployment/k8s/generate.sh @@ -54,7 +54,7 @@ do done echo "Package ercc and fpccc" -CC_TYPE="external" +CC_TYPE="ccaas" ERCC_ID="ercc" ERCC_VER="1.0" FPCCC_ID="fpccc" diff --git a/samples/deployment/k8s/org1/org1-peer0-deployment.yaml b/samples/deployment/k8s/org1/org1-peer0-deployment.yaml index 7e14f4c50..91c2462af 100644 --- a/samples/deployment/k8s/org1/org1-peer0-deployment.yaml +++ b/samples/deployment/k8s/org1/org1-peer0-deployment.yaml @@ -57,6 +57,8 @@ spec: value: 0.0.0.0:9443 - name: CORE_METRICS_PROVIDER value: prometheus + - name: CHAINCODE_AS_A_SERVICE_BUILDER_CONFIG + value: "{\"peername\":\"peer0org1\"}" image: hyperledger/fabric-peer:2.5.9 name: peer0 ports: From 8165257352a6e210b5b9fbd82cdad58af5948e74 Mon Sep 17 00:00:00 2001 From: munapower Date: Thu, 5 Feb 2026 19:59:51 -0300 Subject: [PATCH 2/5] add updated chaincode packaging Signed-off-by: munapower --- samples/deployment/k8s/generate.sh | 51 ++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 6 deletions(-) diff --git a/samples/deployment/k8s/generate.sh b/samples/deployment/k8s/generate.sh index 3d402ee51..d38d2342e 100755 --- a/samples/deployment/k8s/generate.sh +++ b/samples/deployment/k8s/generate.sh @@ -54,6 +54,40 @@ do done echo "Package ercc and fpccc" +function packageChaincode() { + + address="{{.peername}}_${CC_NAME}_ccaas:${CHAINCODE_SERVER_PORT}" + prefix=$(basename "$0") + tempdir=$(mktemp -d -t "$prefix.XXXXXXXX") || error_exit "Error creating temporary directory" + label=${CC_NAME}_${CC_VERSION} + mkdir -p "$tempdir/src" + +cat > "$tempdir/src/connection.json" < "$tempdir/pkg/metadata.json" +{ + "type": "ccaas", + "label": "$label" +} +METADATA-EOF + + tar -C "$tempdir/src" -czf "$tempdir/pkg/code.tar.gz" . + tar -C "$tempdir/pkg" -czf "$CC_NAME.tar.gz" metadata.json code.tar.gz + rm -Rf "$tempdir" + + PACKAGE_ID=$(peer lifecycle chaincode calculatepackageid ${CC_NAME}.tar.gz) + + successln "Chaincode is packaged ${address}" +} + CC_TYPE="ccaas" ERCC_ID="ercc" ERCC_VER="1.0" @@ -70,14 +104,19 @@ FPC_MRENCLAVE="$(cat "${FPCCC_PATH}"/_build/lib/mrenclave)" for peer in $(shopt -s globstar; find ${cryptoConfigDir}/**/peers/ -mindepth 1 -maxdepth 1 -execdir echo {} ';' | sed 's/^\.\///g'); do # ercc - endpoint="${ERCC_ID}-${peer}:${CHAINCODE_SERVER_PORT}" - packageName="${ERCC_ID}-${peer}.tgz" - packageChaincode "${packageDir}" "${packageName}" "${ERCC_ID}" "${ERCC_VER}" "${CC_TYPE}" "${endpoint}" "${peer}" + CC_NAME=ERCC_ID + CC_VER=ERCC_VER +# endpoint="${ERCC_ID}-${peer}:${CHAINCODE_SERVER_PORT}" +# packageName="${ERCC_ID}-${peer}.tgz" +# packageChaincode "${packageDir}" "${packageName}" "${ERCC_ID}" "${ERCC_VER}" "${CC_TYPE}" "${endpoint}" "${peer}" + packageChaincode "${peer}" # fpc cc - endpoint="${FPCCC_ID}-${peer}:${CHAINCODE_SERVER_PORT}" - packageName="${FPCCC_ID}-${peer}.tgz" - packageChaincode "${packageDir}" "${packageName}" "${FPCCC_ID}" "${FPC_MRENCLAVE}" "${CC_TYPE}" "${endpoint}" "${peer}" + CC_NAME=FPCCC_ID +# endpoint="${FPCCC_ID}-${peer}:${CHAINCODE_SERVER_PORT}" +# packageName="${FPCCC_ID}-${peer}.tgz" +# packageChaincode "${packageDir}" "${packageName}" "${FPCCC_ID}" "${FPC_MRENCLAVE}" "${CC_TYPE}" "${endpoint}" "${peer}" + packageChaincode "${peer}" done echo "Store mrenclave for fpccc" From 2367115db50c13324870ccf98b43a8d5fd0cf405 Mon Sep 17 00:00:00 2001 From: munapower Date: Sun, 8 Feb 2026 23:15:29 -0300 Subject: [PATCH 3/5] update chaincode create in k8s sample Signed-off-by: munapower --- samples/deployment/k8s/generate.sh | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/samples/deployment/k8s/generate.sh b/samples/deployment/k8s/generate.sh index d38d2342e..1275e878b 100755 --- a/samples/deployment/k8s/generate.sh +++ b/samples/deployment/k8s/generate.sh @@ -3,6 +3,19 @@ # Copyright IBM Corp. All Rights Reserved. # SPDX-License-Identifier: Apache-2.0 +C_RESET='\033[0m' +C_RED='\033[0;31m' +C_GREEN='\033[0;32m' +C_BLUE='\033[0;34m' +C_YELLOW='\033[1;33m' +# successln echos in green color +function successln() { + println "${C_GREEN}${1}${C_RESET}" +} +# println echos string +function println() { + echo -e "$1" +} set -euo pipefail if [[ -z "${FPC_PATH}" ]]; then @@ -21,7 +34,7 @@ packageDir="${outDir}/packages" CHAINCODE_SERVER_PORT=9999 -FABRIC_BIN_DIR="${FABRIC_BIN_DIR:-${FABRIC_PATH}/build/bin}" +FABRIC_BIN_DIR="${FPC_PATH}/fabric/_internal/bin" if [[ -z "${FABRIC_BIN_DIR}" ]]; then echo "Error: FABRIC_BIN_DIR not set" echo "Error: FABRIC_BIN_DIR must point to the location of cryptogen and configtxgen" @@ -83,7 +96,8 @@ METADATA-EOF tar -C "$tempdir/pkg" -czf "$CC_NAME.tar.gz" metadata.json code.tar.gz rm -Rf "$tempdir" - PACKAGE_ID=$(peer lifecycle chaincode calculatepackageid ${CC_NAME}.tar.gz) +# PACKAGE_ID=$(peer lifecycle chaincode calculatepackageid ${CC_NAME}.tar.gz) +# commenting due to the network not yet being setup to calculate package_id successln "Chaincode is packaged ${address}" } @@ -105,7 +119,7 @@ for peer in $(shopt -s globstar; find ${cryptoConfigDir}/**/peers/ -mindepth 1 - do # ercc CC_NAME=ERCC_ID - CC_VER=ERCC_VER + CC_VERSION=ERCC_VER # endpoint="${ERCC_ID}-${peer}:${CHAINCODE_SERVER_PORT}" # packageName="${ERCC_ID}-${peer}.tgz" # packageChaincode "${packageDir}" "${packageName}" "${ERCC_ID}" "${ERCC_VER}" "${CC_TYPE}" "${endpoint}" "${peer}" @@ -119,5 +133,5 @@ do packageChaincode "${peer}" done -echo "Store mrenclave for fpccc" -echo "FPC_MRENCLAVE=${FPC_MRENCLAVE}" >> ${packageDir}/chaincode-config.properties +#echo "Store mrenclave for fpccc" +#echo "FPC_MRENCLAVE=${FPC_MRENCLAVE}" >> ${packageDir}/chaincode-config.properties From e2d6acf8159ffd13a6493ae6512b15977f6c8ab4 Mon Sep 17 00:00:00 2001 From: munapower Date: Tue, 17 Feb 2026 14:43:32 -0300 Subject: [PATCH 4/5] Adding packageDir so peer can find chaincode there and commenting deployment descriptor specific for Mac M1 Signed-off-by: munapower --- samples/deployment/k8s/generate.sh | 10 +++++++--- .../deployment/k8s/org1/org1-fpcclient-deployment.yaml | 3 +++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/samples/deployment/k8s/generate.sh b/samples/deployment/k8s/generate.sh index 1275e878b..070fc1d93 100755 --- a/samples/deployment/k8s/generate.sh +++ b/samples/deployment/k8s/generate.sh @@ -31,6 +31,7 @@ outDir="." cryptoConfigDir="${outDir}/crypto-config" channelArtifactsDir="${outDir}/channel-artifacts" packageDir="${outDir}/packages" +mkdir packageDir CHAINCODE_SERVER_PORT=9999 @@ -99,7 +100,9 @@ METADATA-EOF # PACKAGE_ID=$(peer lifecycle chaincode calculatepackageid ${CC_NAME}.tar.gz) # commenting due to the network not yet being setup to calculate package_id - successln "Chaincode is packaged ${address}" + mv $CC_NAME.tar.gz packageDir + successln "Chaincode is packaged ${address} and in ${packageDir}/$CC_NAME.tar.gz" + } CC_TYPE="ccaas" @@ -133,5 +136,6 @@ do packageChaincode "${peer}" done -#echo "Store mrenclave for fpccc" -#echo "FPC_MRENCLAVE=${FPC_MRENCLAVE}" >> ${packageDir}/chaincode-config.properties + +echo "Store mrenclave for fpccc" +echo "FPC_MRENCLAVE=${FPC_MRENCLAVE}" >> ${packageDir}/chaincode-config.properties diff --git a/samples/deployment/k8s/org1/org1-fpcclient-deployment.yaml b/samples/deployment/k8s/org1/org1-fpcclient-deployment.yaml index fe526039f..8f499a5a8 100644 --- a/samples/deployment/k8s/org1/org1-fpcclient-deployment.yaml +++ b/samples/deployment/k8s/org1/org1-fpcclient-deployment.yaml @@ -67,6 +67,9 @@ spec: - mountPath: /opt/gopath/src/github.com/hyperledger/fabric-private-chaincode/ name: fpc-claim workingDir: /opt/gopath/src/github.com/hyperledger/fabric/peer +# nodeSelector: +# kubernetes.io/arch: amd64 +# test to see if minikube can start a docker amd64 image even though it is running arm64 restartPolicy: Always volumes: - name: fpcclient-claim3 From 14d9bbb92e7fe6b9fd52b8ecceb4303fa40c10e8 Mon Sep 17 00:00:00 2001 From: munapower Date: Wed, 18 Feb 2026 10:44:14 -0300 Subject: [PATCH 5/5] Fix where mkdir is Signed-off-by: munapower --- samples/deployment/k8s/generate.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/samples/deployment/k8s/generate.sh b/samples/deployment/k8s/generate.sh index 070fc1d93..5be7c1d07 100755 --- a/samples/deployment/k8s/generate.sh +++ b/samples/deployment/k8s/generate.sh @@ -31,7 +31,7 @@ outDir="." cryptoConfigDir="${outDir}/crypto-config" channelArtifactsDir="${outDir}/channel-artifacts" packageDir="${outDir}/packages" -mkdir packageDir + CHAINCODE_SERVER_PORT=9999 @@ -117,7 +117,7 @@ if [[ -z "${TEST_CC_PATH}" ]]; then fi FPC_MRENCLAVE="$(cat "${FPCCC_PATH}"/_build/lib/mrenclave)" - +mkdir packageDir for peer in $(shopt -s globstar; find ${cryptoConfigDir}/**/peers/ -mindepth 1 -maxdepth 1 -execdir echo {} ';' | sed 's/^\.\///g'); do # ercc