Add missing files
parent
05b6b6382c
commit
c20d68b183
|
@ -0,0 +1,97 @@
|
|||
# This is the development compose file to config env and command
|
||||
# Notice that chaincode is executed inside docker in default net mode
|
||||
# https://github.com/yeasy/docker-compose-files
|
||||
|
||||
# Depends on the yeasy/hyperledger-fabric image.
|
||||
|
||||
version: '2'
|
||||
|
||||
services:
|
||||
orderer.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
image: yeasy/hyperledger-fabric:1.0.3
|
||||
container_name: orderer.example.com
|
||||
hostname: orderer.example.com
|
||||
ports:
|
||||
- "7050:7050"
|
||||
environment:
|
||||
# Kafka related configurations
|
||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||
- ORDERER_KAFKA_VERBOSE=true
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# for solo case
|
||||
#- ./solo/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||
#- ./solo/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
# for kafka case
|
||||
- ./kafka/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
#command: bash -c 'bash /tmp/orderer_build.sh; orderer start' # use this if to debug orderer
|
||||
command: bash -c 'orderer start' # use this if to debug orderer
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
image: yeasy/hyperledger-fabric:latest
|
||||
container_name: peer0.org1.example.com
|
||||
hostname: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/go/src/github.com/hyperledger/fabric
|
||||
# e2e mode configuration
|
||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
#- ./solo/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
# kafka mode configuration
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 7051:7051
|
||||
- 7052:7052
|
||||
- 7053:7053
|
||||
#command: bash -c 'bash /tmp/peer_build.sh; peer node start'
|
||||
command: bash -c 'peer node start'
|
||||
#command: bash -c 'peer node start --peer-chaincodedev=true' # DEV mode
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
image: yeasy/hyperledger-fabric:1.0.3
|
||||
container_name: fabric-cli
|
||||
hostname: fabric-cli
|
||||
tty: true
|
||||
environment:
|
||||
- CORE_PEER_ID=fabric-cli
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
volumes:
|
||||
- $GOPATH/src/github.com/hyperledger/fabric:/opt/gopath/src/github.com/hyperledger/fabric
|
||||
#- /tmp/:/tmp/
|
||||
- ./scripts:/tmp/scripts
|
||||
# e2e mode configuration
|
||||
#- ./solo/channel-artifacts:/tmp/channel-artifacts
|
||||
#- ./solo/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
#- ./solo/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
#- ./solo/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
|
||||
#- ./solo/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
||||
# kafka mode configuration
|
||||
- ./kafka/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./kafka/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./kafka/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./kafka/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
|
||||
- ./kafka/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
|
@ -0,0 +1,256 @@
|
|||
# All elements in this file should depend on the base.yaml
|
||||
# Provided a Kafka enabled fabric network with:
|
||||
|
||||
# ca.org1.example.com
|
||||
# ca.org2.example.com
|
||||
# orderer.example.com
|
||||
# peer0.org1.example.com
|
||||
# peer1.org1.example.com
|
||||
# peer0.org2.example.com
|
||||
# peer1.org2.example.com
|
||||
# 3 zookeeper nodes
|
||||
# 4 kafka nodes
|
||||
# cli
|
||||
|
||||
version: '2' # v3 does not support 'extends' yet
|
||||
|
||||
services:
|
||||
ca.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org1.example.com
|
||||
hostname: ca.org1.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org1
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk
|
||||
ports:
|
||||
- "7054:7054"
|
||||
volumes:
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/c843d3f021118963ce5d340e95286e8869bb7bd051454cd4166aa2887a2ad451_sk -b admin:adminpw -d'
|
||||
|
||||
ca.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: ca-base
|
||||
container_name: ca.org2.example.com
|
||||
hostname: ca.org2.example.com
|
||||
environment:
|
||||
- FABRIC_CA_SERVER_CA_NAME=ca-org2
|
||||
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem
|
||||
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk
|
||||
ports:
|
||||
- "8054:7054"
|
||||
volumes:
|
||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config
|
||||
command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/1ee551a8753171c0377366e96a1d7ec01afddb868c9483cc501b6f8ac7ae752f_sk -b admin:adminpw -d'
|
||||
|
||||
orderer.example.com: # There can be multiple orderers
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: orderer-base
|
||||
container_name: orderer.example.com
|
||||
hostname: orderer.example.com
|
||||
ports:
|
||||
- "7050:7050"
|
||||
environment:
|
||||
# Kafka related configurations
|
||||
- ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s
|
||||
- ORDERER_KAFKA_RETRY_SHORTTOTAL=30s
|
||||
- ORDERER_KAFKA_VERBOSE=true
|
||||
volumes:
|
||||
- ./kafka/channel-artifacts/orderer.genesis.block:/var/hyperledger/orderer/orderer.genesis.block
|
||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/msp:/var/hyperledger/orderer/msp
|
||||
- ./kafka/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/tls/:/var/hyperledger/orderer/tls
|
||||
command: orderer start
|
||||
|
||||
cli:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: cli-base
|
||||
container_name: fabric-cli
|
||||
hostname: fabric-cli
|
||||
tty: true
|
||||
environment:
|
||||
- CORE_PEER_ID=fabric-cli
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 # default to operate on peer0.org1
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt
|
||||
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key
|
||||
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
|
||||
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp
|
||||
volumes:
|
||||
- ./scripts:/tmp/scripts
|
||||
- ./kafka/channel-artifacts:/tmp/channel-artifacts
|
||||
- ./kafka/configtx.yaml:/etc/hyperledger/fabric/configtx.yaml
|
||||
- ./kafka/crypto-config.yaml:/etc/hyperledger/fabric/crypto-config.yaml
|
||||
- ./kafka/crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto
|
||||
- ./kafka/examples:/opt/gopath/src/github.com/hyperledger/fabric/examples
|
||||
|
||||
## following are peer nodes ##
|
||||
|
||||
peer0.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org1.example.com
|
||||
hostname: peer0.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 7051:7051
|
||||
- 7052:7052
|
||||
- 7053:7053
|
||||
|
||||
peer1.org1.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org1.example.com
|
||||
hostname: peer1.org1.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org1.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org1.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org1.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org1MSP
|
||||
volumes:
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./kafka/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 8051:7051
|
||||
- 8052:7052
|
||||
- 8053:7053
|
||||
|
||||
peer0.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer0.org2.example.com
|
||||
hostname: peer0.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer0.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer0.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer0.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 9051:7051
|
||||
- 9052:7052
|
||||
- 9053:7053
|
||||
|
||||
peer1.org2.example.com:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: peer-base
|
||||
container_name: peer1.org2.example.com
|
||||
hostname: peer1.org2.example.com
|
||||
environment:
|
||||
- CORE_PEER_ID=peer1.org2.example.com
|
||||
- CORE_PEER_ADDRESS=peer1.org2.example.com:7051
|
||||
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
|
||||
- CORE_PEER_CHAINCODELISTENADDRESS=peer1.org2.example.com:7052
|
||||
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
|
||||
- CORE_PEER_LOCALMSPID=Org2MSP
|
||||
volumes:
|
||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp:/etc/hyperledger/fabric/msp
|
||||
- ./kafka/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls:/etc/hyperledger/fabric/tls
|
||||
ports:
|
||||
- 10051:7051
|
||||
- 10052:7052
|
||||
- 10053:7053
|
||||
|
||||
|
||||
# ZooKeeper services, at least 3 nodes
|
||||
zookeeper0:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: zookeeper-base
|
||||
container_name: zookeeper0
|
||||
hostname: zookeeper0
|
||||
environment:
|
||||
- ZOO_MY_ID=1
|
||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||
|
||||
zookeeper1:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: zookeeper-base
|
||||
container_name: zookeeper1
|
||||
hostname: zookeeper1
|
||||
environment:
|
||||
- ZOO_MY_ID=2
|
||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||
|
||||
zookeeper2:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: zookeeper-base
|
||||
container_name: zookeeper2
|
||||
hostname: zookeeper2
|
||||
environment:
|
||||
- ZOO_MY_ID=3
|
||||
- ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888
|
||||
|
||||
# Kafka services, at least 4 node to tolerant work with 1 node failure
|
||||
kafka0:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka0
|
||||
hostname: kafka0
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=0
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||
|
||||
kafka1:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka1
|
||||
hostname: kafka1
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=1
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||
|
||||
kafka2:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka2
|
||||
hostname: kafka2
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=2
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
||||
|
||||
kafka3:
|
||||
extends:
|
||||
file: base.yaml
|
||||
service: kafka-base
|
||||
container_name: kafka3
|
||||
hostname: kafka3
|
||||
environment:
|
||||
- KAFKA_BROKER_ID=3
|
||||
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
|
||||
- KAFKA_MIN_INSYNC_REPLICAS=2
|
||||
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181
|
|
@ -0,0 +1,105 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script will build and start and test chaincode in DEV mode
|
||||
|
||||
if [ -f ./func.sh ]; then
|
||||
source ./func.sh
|
||||
elif [ -f scripts/func.sh ]; then
|
||||
source scripts/func.sh
|
||||
fi
|
||||
|
||||
echo
|
||||
echo " ============================================== "
|
||||
echo " ==========initialize businesschannel========== "
|
||||
echo " ============================================== "
|
||||
echo
|
||||
|
||||
echo_b "Channel name : "$CHANNEL_NAME
|
||||
|
||||
## Create channel
|
||||
echo_b "Creating channel..."
|
||||
channelCreate
|
||||
|
||||
sleep 1
|
||||
|
||||
## Join all the peers to the channel
|
||||
echo_b "Having peer0 join the channel..."
|
||||
channelJoin 0
|
||||
|
||||
sleep 1
|
||||
|
||||
## Set the anchor peers for each org in the channel
|
||||
#echo_b "Updating anchor peers for peer0/org1... no use for only single channel"
|
||||
#updateAnchorPeers 0
|
||||
|
||||
# We suppose the binary is there, otherwise, run `go build` under the chaincode path
|
||||
chaincodeStartDev 0 1.0
|
||||
sleep 1
|
||||
|
||||
## Install chaincode on all peers
|
||||
echo_b "Installing chaincode on peer0..."
|
||||
chaincodeInstall 0 1.0
|
||||
|
||||
sleep 1
|
||||
|
||||
# Instantiate chaincode on all peers
|
||||
# Instantiate can only be executed once on any node
|
||||
echo_b "Instantiating chaincode on the channel..."
|
||||
chaincodeInstantiate 0
|
||||
|
||||
sleep 1
|
||||
|
||||
echo
|
||||
echo_g "===================== All GOOD, initialization completed ===================== "
|
||||
echo
|
||||
|
||||
echo
|
||||
echo " _____ _ _ ____ "
|
||||
echo "| ____| | \ | | | _ \ "
|
||||
echo "| _| | \| | | | | |"
|
||||
echo "| |___ | |\ | | |_| |"
|
||||
echo "|_____| |_| \_| |____/ "
|
||||
echo
|
||||
|
||||
exit 0
|
||||
|
||||
|
||||
echo "Starting chaincode in dev mode..."
|
||||
cd $GOPATH/src/github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
|
||||
go build
|
||||
CORE_CHAINCODE_LOGLEVEL=debug \
|
||||
CORE_PEER_ADDRESS=peer0.org1.example.com:7052 \
|
||||
CORE_CHAINCODE_ID_NAME=mycc:1.0 \
|
||||
./chaincode_example02 &
|
||||
|
||||
echo "Install chaincode"
|
||||
CORE_PEER_ADDRESS=peer0.org1.example.com:7051 \
|
||||
peer chaincode install \
|
||||
-n mycc \
|
||||
-v 1.0 \
|
||||
-p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
|
||||
|
||||
echo "Instantiate chaincode"
|
||||
CORE_PEER_ADDRESS=peer0.org1.example.com:7051 \
|
||||
peer chaincode instantiate \
|
||||
-n mycc \
|
||||
-v 1.0 \
|
||||
-c '{"Args":["init","a","100","b","200"]}' \
|
||||
-o orderer.example.com:7050 \
|
||||
-C businesschannel
|
||||
|
||||
echo "Invoke chaincode..."
|
||||
CORE_PEER_ADDRESS=peer0.org1.example.com:7051 \
|
||||
peer chaincode invoke \
|
||||
-n mycc \
|
||||
-c '{"Args":["invoke","a","b","10"]}' \
|
||||
-o orderer.example.com:7050 \
|
||||
-C businesschannel
|
||||
|
||||
echo "Query chaincode..."
|
||||
CORE_PEER_ADDRESS=peer0.org1.example.com:7051 \
|
||||
peer chaincode query \
|
||||
-n mycc \
|
||||
-c '{"Args":["query","a"]}' \
|
||||
-o orderer.example.com:7050 \
|
||||
-C businesschannel
|
|
@ -0,0 +1,28 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
# This script will fetch blocks for testing.
|
||||
|
||||
# Importing useful functions for cc testing
|
||||
if [ -f ./func.sh ]; then
|
||||
source ./func.sh
|
||||
elif [ -f scripts/func.sh ]; then
|
||||
source scripts/func.sh
|
||||
fi
|
||||
|
||||
echo_b "Channel name: $CHANNEL_NAME"
|
||||
|
||||
echo_b "====================Fetching blocks================================"
|
||||
|
||||
echo_b "Fetch block 0"
|
||||
channelFetch 0 0
|
||||
|
||||
echo_b "Fetch block 1"
|
||||
channelFetch 0 1
|
||||
|
||||
echo_b "Fetch block 2"
|
||||
channelFetch 0 2
|
||||
|
||||
echo_b "Fetch block 3"
|
||||
channelFetch 0 3
|
||||
|
||||
echo_g "Block fetching done!"
|
Loading…
Reference in New Issue