Skip to content

Commit b89ee34

Browse files
authored
Update Commercial Paper to v2.0 Lifecycle (#109)
* WIP Commercial Paper -> Test network Signed-off-by: Matthew B White <whitemat@uk.ibm.com> * Update Commercial Paper to v2.0 lifecycle - move to using the test-network - updating README.md to include commands to use v2.0 lifecylce - update Contracts and Applications to use 2.0 libraries Signed-off-by: Matthew B White <whitemat@uk.ibm.com>
1 parent 4208644 commit b89ee34

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+4099
-1010
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,5 @@
1111
.project
1212
# omit Go vendor directories
1313
vendor/
14+
.vscode
15+
.gradle

ci/commercialpaper-go.yml

Lines changed: 70 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,83 @@ steps:
99
- script: go test ./...
1010
workingDirectory: commercial-paper/organization/digibank/contract-go
1111
displayName: Go unit test digibank
12-
- script: bash start.sh
13-
workingDirectory: basic-network
12+
13+
- script: |
14+
go mod vendor
15+
workingDirectory: commercial-paper/organization/magnetocorp/contract-go
16+
- script: |
17+
go mod vendor
18+
workingDirectory: commercial-paper/organization/digibank/contract-go
19+
20+
- script: |
21+
echo $PATH
22+
ls -l /usr/local/bin/peer
23+
sudo tar xzvf /tmp/hyperledger-fabric-linux-amd64-latest.tar.gz -C ..
24+
./network.sh down
25+
./network.sh up createChannel -s couchdb -i 2.0.0-beta
26+
27+
# Copy the connection profiles so they are in the correct organizations.
28+
cp "./organizations/peerOrganizations/org1.example.com/connection-org1.yaml" "../commercial-paper/organization/digibank/gateway/"
29+
cp "./organizations/peerOrganizations/org2.example.com/connection-org2.yaml" "../commercial-paper/organization/magnetocorp/gateway/"
30+
workingDirectory: test-network
1431
displayName: Start Fabric
32+
env:
33+
FABRIC_CFG_PATH: /usr/local/config
1534
- script: |
16-
docker-compose -f docker-compose.yml up -d cliMagnetoCorp
35+
source <(./magnetocorp.sh)
36+
peer lifecycle chaincode package cp.tar.gz --lang java --path ./contract-java --label cp_0
37+
peer lifecycle chaincode install cp.tar.gz
1738
18-
docker exec cliMagnetoCorp bash -c 'cd /opt/gopath/src/github.com/hyperledger/fabric-samples/commercial-paper/organization/magnetocorp/contract-go && go mod vendor'
39+
export PACKAGE_ID=$(peer lifecycle chaincode queryinstalled --output json | jq -r '.installed_chaincodes[0].package_id')
40+
echo $PACKAGE_ID
1941
20-
docker exec cliMagnetoCorp peer lifecycle chaincode package cp.tar.gz --lang golang --path github.com/hyperledger/fabric-samples/commercial-paper/organization/magnetocorp/contract-go --label cp_0
21-
docker exec cliMagnetoCorp peer lifecycle chaincode install cp.tar.gz
22-
export PACKAGE_ID=$(docker exec cliMagnetoCorp peer lifecycle chaincode queryinstalled 2>&1 | awk -F "[, ]+" '/Label: /{print $3}')
42+
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com \
43+
--channelID mychannel \
44+
--name papercontract \
45+
-v 0 \
46+
--package-id $PACKAGE_ID \
47+
--sequence 1 \
48+
--tls \
49+
--cafile $ORDERER_CA
50+
51+
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name papercontract -v 0 --sequence 1
52+
workingDirectory: commercial-paper/organization/magnetocorp
53+
displayName: Setup Commercial Paper contract
54+
env:
55+
FABRIC_CFG_PATH: /usr/local/config
56+
- script: |
57+
source <(./digibank.sh)
58+
peer lifecycle chaincode package cp.tar.gz --lang java --path ./contract-java --label cp_0
59+
peer lifecycle chaincode install cp.tar.gz
60+
61+
export PACKAGE_ID=$(peer lifecycle chaincode queryinstalled --output json | jq -r '.installed_chaincodes[0].package_id')
62+
echo $PACKAGE_ID
2363
24-
docker exec cliMagnetoCorp peer lifecycle chaincode approveformyorg --channelID mychannel --name papercontract -v 0 --package-id $PACKAGE_ID --sequence 1 --signature-policy "AND ('Org1MSP.member')"
25-
docker exec cliMagnetoCorp peer lifecycle chaincode commit -o orderer.example.com:7050 --channelID mychannel --name papercontract -v 0 --sequence 1 --waitForEvent --signature-policy "AND ('Org1MSP.member')"
26-
docker exec cliMagnetoCorp peer chaincode invoke -o orderer.example.com:7050 --channelID mychannel --name papercontract -c '{"Args":["org.papernet.commercialpaper:instantiate"]}' --waitForEvent
64+
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com \
65+
--channelID mychannel \
66+
--name papercontract \
67+
-v 0 \
68+
--package-id $PACKAGE_ID \
69+
--sequence 1 \
70+
--tls \
71+
--cafile $ORDERER_CA
72+
73+
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name papercontract -v 0 --sequence 1
2774
28-
workingDirectory: commercial-paper/organization/magnetocorp/configuration/cli
75+
peer lifecycle chaincode commit -o localhost:7050 \
76+
--peerAddresses localhost:7051 --tlsRootCertFiles ${PEER0_ORG1_CA} \
77+
--peerAddresses localhost:9051 --tlsRootCertFiles ${PEER0_ORG2_CA} \
78+
--ordererTLSHostnameOverride orderer.example.com \
79+
--channelID mychannel --name papercontract -v 0 \
80+
--sequence 1 \
81+
--tls --cafile $ORDERER_CA --waitForEvent
82+
83+
workingDirectory: commercial-paper/organization/digibank
2984
displayName: Setup Commercial Paper contract
85+
env:
86+
FABRIC_CFG_PATH: /usr/local/config
87+
88+
3089
3190
- script: retry -- npm install
3291
workingDirectory: commercial-paper/organization/magnetocorp/application

ci/commercialpaper-java.yml

Lines changed: 68 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,83 @@
33
#
44

55
steps:
6-
- script: bash start.sh
7-
workingDirectory: basic-network
8-
displayName: Start Fabric
96
- script: |
107
./gradlew build
118
workingDirectory: commercial-paper/organization/digibank/contract-java
129
displayName: Build Java Contract
1310
- script: |
14-
docker-compose -f docker-compose.yml up -d cliDigiBank
11+
./gradlew build
12+
workingDirectory: commercial-paper/organization/magnetocorp/contract-java
13+
displayName: Build Java Contract
14+
15+
- script: |
16+
echo $PATH
17+
ls -l /usr/local/bin/peer
18+
sudo tar xzvf /tmp/hyperledger-fabric-linux-amd64-latest.tar.gz -C ..
19+
./network.sh down
20+
./network.sh up createChannel -s couchdb -i 2.0.0-beta
21+
22+
# Copy the connection profiles so they are in the correct organizations.
23+
cp "./organizations/peerOrganizations/org1.example.com/connection-org1.yaml" "../commercial-paper/organization/digibank/gateway/"
24+
cp "./organizations/peerOrganizations/org2.example.com/connection-org2.yaml" "../commercial-paper/organization/magnetocorp/gateway/"
25+
workingDirectory: test-network
26+
displayName: Start Fabric
27+
env:
28+
FABRIC_CFG_PATH: /usr/local/config
29+
- script: |
30+
source <(./magnetocorp.sh)
31+
peer lifecycle chaincode package cp.tar.gz --lang java --path ./contract-java --label cp_0
32+
peer lifecycle chaincode install cp.tar.gz
33+
34+
export PACKAGE_ID=$(peer lifecycle chaincode queryinstalled --output json | jq -r '.installed_chaincodes[0].package_id')
35+
echo $PACKAGE_ID
1536
16-
docker exec cliDigiBank peer lifecycle chaincode package cp.tar.gz --lang java --path /opt/gopath/src/github.com/hyperledger/fabric-samples/commercial-paper/organization/digibank/contract-java/build/libs --label cp_0
17-
docker exec cliDigiBank peer lifecycle chaincode install cp.tar.gz
18-
export PACKAGE_ID=$(docker exec cliDigiBank peer lifecycle chaincode queryinstalled 2>&1 | awk -F "[, ]+" '/Label: /{print $3}')
37+
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com \
38+
--channelID mychannel \
39+
--name papercontract \
40+
-v 0 \
41+
--package-id $PACKAGE_ID \
42+
--sequence 1 \
43+
--tls \
44+
--cafile $ORDERER_CA
45+
46+
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name papercontract -v 0 --sequence 1
47+
workingDirectory: commercial-paper/organization/magnetocorp
48+
displayName: Setup Commercial Paper contract
49+
env:
50+
FABRIC_CFG_PATH: /usr/local/config
51+
- script: |
52+
source <(./digibank.sh)
53+
peer lifecycle chaincode package cp.tar.gz --lang java --path ./contract-java --label cp_0
54+
peer lifecycle chaincode install cp.tar.gz
1955
20-
docker exec cliDigiBank peer lifecycle chaincode approveformyorg --channelID mychannel --name papercontract -v 0 --package-id $PACKAGE_ID --sequence 1 --signature-policy "AND ('Org1MSP.member')"
21-
docker exec cliDigiBank peer lifecycle chaincode commit -o orderer.example.com:7050 --channelID mychannel --name papercontract -v 0 --sequence 1 --waitForEvent --signature-policy "AND ('Org1MSP.member')"
22-
docker exec cliDigiBank peer chaincode invoke -o orderer.example.com:7050 --channelID mychannel --name papercontract -c '{"Args":["org.papernet.commercialpaper:instantiate"]}' --waitForEvent
56+
export PACKAGE_ID=$(peer lifecycle chaincode queryinstalled --output json | jq -r '.installed_chaincodes[0].package_id')
57+
echo $PACKAGE_ID
2358
24-
workingDirectory: commercial-paper/organization/digibank/configuration/cli
59+
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com \
60+
--channelID mychannel \
61+
--name papercontract \
62+
-v 0 \
63+
--package-id $PACKAGE_ID \
64+
--sequence 1 \
65+
--tls \
66+
--cafile $ORDERER_CA
67+
68+
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name papercontract -v 0 --sequence 1
69+
70+
peer lifecycle chaincode commit -o localhost:7050 \
71+
--peerAddresses localhost:7051 --tlsRootCertFiles ${PEER0_ORG1_CA} \
72+
--peerAddresses localhost:9051 --tlsRootCertFiles ${PEER0_ORG2_CA} \
73+
--ordererTLSHostnameOverride orderer.example.com \
74+
--channelID mychannel --name papercontract -v 0 \
75+
--sequence 1 \
76+
--tls --cafile $ORDERER_CA --waitForEvent
77+
78+
workingDirectory: commercial-paper/organization/digibank
2579
displayName: Setup Commercial Paper contract
80+
env:
81+
FABRIC_CFG_PATH: /usr/local/config
82+
2683
2784
- script: retry -- npm install
2885
workingDirectory: commercial-paper/organization/magnetocorp/application

ci/commercialpaper-javascript.yml

Lines changed: 61 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,73 @@
33
#
44

55
steps:
6-
- script: bash start.sh
7-
workingDirectory: basic-network
8-
displayName: Start Fabric
96
- script: |
10-
docker-compose -f docker-compose.yml up -d cliMagnetoCorp
7+
echo $PATH
8+
ls -l /usr/local/bin/peer
9+
sudo tar xzvf /tmp/hyperledger-fabric-linux-amd64-latest.tar.gz -C ..
10+
./network.sh down
11+
./network.sh up createChannel -s couchdb -i 2.0.0-beta
1112
12-
docker exec cliMagnetoCorp peer lifecycle chaincode package cp.tar.gz --lang node --path /opt/gopath/src/github.com/hyperledger/fabric-samples/commercial-paper/organization/magnetocorp/contract --label cp_0
13-
docker exec cliMagnetoCorp peer lifecycle chaincode install cp.tar.gz
14-
export PACKAGE_ID=$(docker exec cliMagnetoCorp peer lifecycle chaincode queryinstalled 2>&1 | awk -F "[, ]+" '/Label: /{print $3}')
13+
# Copy the connection profiles so they are in the correct organizations.
14+
cp "./organizations/peerOrganizations/org1.example.com/connection-org1.yaml" "../commercial-paper/organization/digibank/gateway/"
15+
cp "./organizations/peerOrganizations/org2.example.com/connection-org2.yaml" "../commercial-paper/organization/magnetocorp/gateway/"
16+
workingDirectory: test-network
17+
displayName: Start Fabric
18+
env:
19+
FABRIC_CFG_PATH: /usr/local/config
20+
- script: |
21+
source <(./magnetocorp.sh)
22+
peer lifecycle chaincode package cp.tar.gz --lang node --path ./contract --label cp_0
23+
peer lifecycle chaincode install cp.tar.gz
1524
16-
docker exec cliMagnetoCorp peer lifecycle chaincode approveformyorg --channelID mychannel --name papercontract -v 0 --package-id $PACKAGE_ID --sequence 1 --signature-policy "AND ('Org1MSP.member')"
17-
docker exec cliMagnetoCorp peer lifecycle chaincode commit -o orderer.example.com:7050 --channelID mychannel --name papercontract -v 0 --sequence 1 --waitForEvent --signature-policy "AND ('Org1MSP.member')"
18-
docker exec cliMagnetoCorp peer chaincode invoke -o orderer.example.com:7050 --channelID mychannel --name papercontract -c '{"Args":["org.papernet.commercialpaper:instantiate"]}' --waitForEvent
25+
export PACKAGE_ID=$(peer lifecycle chaincode queryinstalled --output json | jq -r '.installed_chaincodes[0].package_id')
26+
echo $PACKAGE_ID
1927
20-
workingDirectory: commercial-paper/organization/magnetocorp/configuration/cli
28+
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com \
29+
--channelID mychannel \
30+
--name papercontract \
31+
-v 0 \
32+
--package-id $PACKAGE_ID \
33+
--sequence 1 \
34+
--tls \
35+
--cafile $ORDERER_CA
36+
37+
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name papercontract -v 0 --sequence 1
38+
workingDirectory: commercial-paper/organization/magnetocorp
2139
displayName: Setup Commercial Paper contract
40+
env:
41+
FABRIC_CFG_PATH: /usr/local/config
42+
- script: |
43+
source <(./digibank.sh)
44+
peer lifecycle chaincode package cp.tar.gz --lang node --path ./contract --label cp_0
45+
peer lifecycle chaincode install cp.tar.gz
2246
47+
export PACKAGE_ID=$(peer lifecycle chaincode queryinstalled --output json | jq -r '.installed_chaincodes[0].package_id')
48+
echo $PACKAGE_ID
49+
50+
peer lifecycle chaincode approveformyorg --orderer localhost:7050 --ordererTLSHostnameOverride orderer.example.com \
51+
--channelID mychannel \
52+
--name papercontract \
53+
-v 0 \
54+
--package-id $PACKAGE_ID \
55+
--sequence 1 \
56+
--tls \
57+
--cafile $ORDERER_CA
58+
59+
peer lifecycle chaincode checkcommitreadiness --channelID mychannel --name papercontract -v 0 --sequence 1
60+
61+
peer lifecycle chaincode commit -o localhost:7050 \
62+
--peerAddresses localhost:7051 --tlsRootCertFiles ${PEER0_ORG1_CA} \
63+
--peerAddresses localhost:9051 --tlsRootCertFiles ${PEER0_ORG2_CA} \
64+
--ordererTLSHostnameOverride orderer.example.com \
65+
--channelID mychannel --name papercontract -v 0 \
66+
--sequence 1 \
67+
--tls --cafile $ORDERER_CA --waitForEvent
68+
69+
workingDirectory: commercial-paper/organization/digibank
70+
displayName: Setup Commercial Paper contract
71+
env:
72+
FABRIC_CFG_PATH: /usr/local/config
2373
- script: retry -- npm install
2474
workingDirectory: commercial-paper/organization/magnetocorp/application
2575
displayName: Install Magnetocorp application

commercial-paper/.gitignore

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,4 @@
1-
cp.tar.gz
1+
cp.tar.gz
2+
**/.gradle
3+
**/gateway/connection-org1.yaml
4+
**/gateway/connection-org2.yaml

0 commit comments

Comments
 (0)