mirror of
https://github.com/hyperledger/fabric-samples.git
synced 2026-06-17 23:45:10 +00:00
* Experimental Support for using podman with the test-network Signed-off-by: Matthew B White <whitemat@uk.ibm.com> * supplement podman with nerdctl Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com> * adds experimental support for nerdctl compose Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com> * install fabric images to containerd with 'nerdctl' pull Signed-off-by: Josh Kneubuhl <jkneubuh@us.ibm.com> * Podman Support Use a core set of compose files, with overlays for specific details. In the case of podman, the overlays refer to a specific core.yaml for the peer that distables the use of teh docker daemon In the case of docker, the overlays add enable the docker daemon accesss for the peer to create chaincode containers Signed-off-by: Matthew B White <whitemat@uk.ibm.com> Co-authored-by: Josh Kneubuhl <jkneubuh@us.ibm.com>
59 lines
1.9 KiB
Bash
Executable file
59 lines
1.9 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Copyright IBM Corp. All Rights Reserved.
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
#
|
|
|
|
# import utils
|
|
. scripts/envVar.sh
|
|
. scripts/configUpdate.sh
|
|
|
|
|
|
# NOTE: this must be run in a CLI container since it requires jq and configtxlator
|
|
createAnchorPeerUpdate() {
|
|
infoln "Fetching channel config for channel $CHANNEL_NAME"
|
|
fetchChannelConfig $ORG $CHANNEL_NAME ${CORE_PEER_LOCALMSPID}config.json
|
|
|
|
infoln "Generating anchor peer update transaction for Org${ORG} on channel $CHANNEL_NAME"
|
|
|
|
if [ $ORG -eq 1 ]; then
|
|
HOST="peer0.org1.example.com"
|
|
PORT=7051
|
|
elif [ $ORG -eq 2 ]; then
|
|
HOST="peer0.org2.example.com"
|
|
PORT=9051
|
|
elif [ $ORG -eq 3 ]; then
|
|
HOST="peer0.org3.example.com"
|
|
PORT=11051
|
|
else
|
|
errorln "Org${ORG} unknown"
|
|
fi
|
|
|
|
set -x
|
|
# Modify the configuration to append the anchor peer
|
|
jq '.channel_group.groups.Application.groups.'${CORE_PEER_LOCALMSPID}'.values += {"AnchorPeers":{"mod_policy": "Admins","value":{"anchor_peers": [{"host": "'$HOST'","port": '$PORT'}]},"version": "0"}}' ${CORE_PEER_LOCALMSPID}config.json > ${CORE_PEER_LOCALMSPID}modified_config.json
|
|
{ set +x; } 2>/dev/null
|
|
|
|
# Compute a config update, based on the differences between
|
|
# {orgmsp}config.json and {orgmsp}modified_config.json, write
|
|
# it as a transaction to {orgmsp}anchors.tx
|
|
createConfigUpdate ${CHANNEL_NAME} ${CORE_PEER_LOCALMSPID}config.json ${CORE_PEER_LOCALMSPID}modified_config.json ${CORE_PEER_LOCALMSPID}anchors.tx
|
|
}
|
|
|
|
updateAnchorPeer() {
|
|
peer channel update -o orderer.example.com:7050 --ordererTLSHostnameOverride orderer.example.com -c $CHANNEL_NAME -f ${CORE_PEER_LOCALMSPID}anchors.tx --tls --cafile "$ORDERER_CA" >&log.txt
|
|
res=$?
|
|
cat log.txt
|
|
verifyResult $res "Anchor peer update failed"
|
|
successln "Anchor peer set for org '$CORE_PEER_LOCALMSPID' on channel '$CHANNEL_NAME'"
|
|
}
|
|
|
|
ORG=$1
|
|
CHANNEL_NAME=$2
|
|
|
|
setGlobalsCLI $ORG
|
|
|
|
createAnchorPeerUpdate
|
|
|
|
updateAnchorPeer
|