Skip to content

Commit aedbf20

Browse files
committed
scripts to test channel functionality
This patch is intended to support channel functionality. Added the required files (docker-compose, shell script, crypto material and chaincode) to test channel create and join functionality from CLI and node sdk. How to use?: step1: unzip alpha.tar.gz file and execute docker-compose script using "docker-compose -f docker-compose-gettingstarted.yml up -d" this creates multiple peers, orderer and cli containers. Channel_test.sh executes in CLI container in run time and creates and join channel on all 3 peers. step2: Docker exec into CLI container and execute below commands (Deploy) CORE_PEER_ADDRESS=peer0:7051 CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 peer chaincode deploy -C myc1 -n mycc -p github.com/hyperledger/fabric/examples -c '{"Args":["init","a","100","b","200"]}' (Invoke) CORE_PEER_ADDRESS=peer0:7051 CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 peer chaincode query -C myc1 -n mycc -c '{"function":"invoke","Args":["query","a"]}' (Query) CORE_PEER_ADDRESS=peer0:7051 CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 peer chaincode invoke -C myc1 -n mycc -c '{"function":"invoke","Args":["move","a","b","10"]}' Nick will provide complete documentation on how to test this feature Change-Id: I93a140c1bc97c8ed9d59bb6d354ac2bc35249c36 Signed-off-by: rameshbabu79 <[email protected]>
1 parent b3bce63 commit aedbf20

Some content is hidden

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

46 files changed

+702
-0
lines changed

examples/alpha/alpha.tar.gz

10.1 KB
Binary file not shown.

examples/alpha/ccenv/Dockerfile

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
FROM rameshthoomu/fabric-ccenv-x86_64:x86_64-0.7.0-snapshot-3ee280e
2+

examples/alpha/channel_test.sh

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#!/bin/sh
2+
3+
#create
4+
echo "Creating channel on Orderer"
5+
CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/fabric/msp/sampleconfig CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 peer channel create -c myc1 >>log.txt 2>&1
6+
grep -q "Serializing identity" log.txt
7+
if [ $? -ne 0 ]; then
8+
echo "ERROR on CHANNEL CREATION" >> results.txt
9+
exit 1
10+
fi
11+
echo "SUCCESSFUL CHANNEL CREATION" >> results.txt
12+
sleep 5
13+
TOTAL_PEERS=3
14+
i=0
15+
while test $i -lt $TOTAL_PEERS
16+
do
17+
echo "###################################### Joining peer$i"
18+
CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 CORE_PEER_ADDRESS=peer$i:7051 peer channel join -b myc1.block >>log.txt 2>&1
19+
echo '-------------------------------------------------'
20+
grep -q "Join Result: " log.txt
21+
if [ $? -ne 0 ]; then
22+
echo "ERROR on JOIN CHANNEL" >> results.txt
23+
exit 1
24+
fi
25+
echo "SUCCESSFUL JOIN CHANNEL on PEER$i" >> results.txt
26+
echo "SUCCESSFUL JOIN CHANNEL on PEER$i"
27+
i=$((i+1))
28+
sleep 10
29+
done
30+
echo "Peer0 , Peer1 and Peer2 are added to the channel myc1"
31+
cat log.txt
32+
exit 0
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,201 @@
1+
version: '2'
2+
networks:
3+
bridge:
4+
5+
services:
6+
7+
ccenv_latest:
8+
container_name: ccenv_latest
9+
build: ./ccenv
10+
image: hyperledger/fabric-ccenv:latest
11+
volumes:
12+
- ./ccenv:/opt/gopath/src/github.com/hyperledger/fabric/orderer/ccenv
13+
14+
ccenv_snapshot:
15+
container_name: ccenv_snapshot
16+
build: ./ccenv
17+
image: hyperledger/fabric-ccenv:x86_64-0.7.0-snapshot-3ee280e
18+
volumes:
19+
- ./ccenv:/opt/gopath/src/github.com/hyperledger/fabric/orderer/ccenv
20+
21+
ca:
22+
image: rameshthoomu/fabric-ca-x86_64:x86_64-0.7.0-snapshot-f5291e7
23+
ports:
24+
- "7054:7054"
25+
environment:
26+
- CA_CERTIFICATE=peerOrg0_cert.pem
27+
- CA_KEY_CERTIFICATE=peerOrg0_pk.pem
28+
volumes:
29+
- ./tmp/ca:/.fabric-ca
30+
command: sh -c 'sleep 10; fabric-ca server start -ca /.fabric-ca/$$CA_CERTIFICATE -ca-key /.fabric-ca/$$CA_KEY_CERTIFICATE -config /etc/hyperledger/fabric-ca/server-config.json -address "0.0.0.0"'
31+
container_name: ca
32+
33+
couchdb0:
34+
container_name: couchdb0
35+
image: klaemo/couchdb:2.0.0
36+
ports:
37+
- "5984:5984"
38+
networks:
39+
- bridge
40+
41+
couchdb1:
42+
container_name: couchdb1
43+
image: klaemo/couchdb:2.0.0
44+
ports:
45+
- "5985:5984"
46+
networks:
47+
- bridge
48+
49+
couchdb2:
50+
container_name: couchdb2
51+
image: klaemo/couchdb:2.0.0
52+
ports:
53+
- "5986:5984"
54+
networks:
55+
- bridge
56+
57+
orderer:
58+
container_name: orderer
59+
image: rameshthoomu/fabric-orderer-x86_64:x86_64-0.7.0-snapshot-3ee280e
60+
environment:
61+
- ORDERER_GENERAL_LEDGERTYPE=ram
62+
- ORDERER_GENERAL_BATCHTIMEOUT=10s
63+
- ORDERER_GENERAL_BATCHSIZE_MAXMESSAGECOUNT=10
64+
- ORDERER_GENERAL_MAXWINDOWSIZE=1000
65+
- ORDERER_GENERAL_ORDERERTYPE=solo
66+
- ORDERER_GENERAL_LOGLEVEL=debug
67+
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
68+
- ORDERER_GENERAL_LISTENPORT=7050
69+
- ORDERER_RAMLEDGER_HISTORY_SIZE=100
70+
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
71+
volumes:
72+
- ./tmp/orderer:/etc/hyperledger/fabric/orderer
73+
command: orderer
74+
ports:
75+
- 7050:7050
76+
networks:
77+
- bridge
78+
79+
peer0:
80+
container_name: peer0
81+
image: rameshthoomu/fabric-peer-x86_64:x86_64-0.7.0-snapshot-3ee280e
82+
environment:
83+
- CORE_PEER_ADDRESSAUTODETECT=true
84+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
85+
- CORE_LOGGING_LEVEL=DEBUG
86+
- CORE_PEER_NETWORKID=peer0
87+
- CORE_NEXT=true
88+
- CORE_PEER_ENDORSER_ENABLED=true
89+
- CORE_PEER_ID=peer0
90+
- CORE_PEER_PROFILE_ENABLED=true
91+
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050
92+
- CORE_PEER_GOSSIP_ORGLEADER=true
93+
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
94+
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984
95+
96+
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
97+
ports:
98+
- 7051:7051
99+
- 7053:7053
100+
links:
101+
- orderer:orderer
102+
- couchdb0:couchdb0
103+
volumes:
104+
- /var/run/:/host/var/run/
105+
- ./tmp/peer0:/etc/hyperledger/fabric/msp/sampleconfig
106+
networks:
107+
- bridge
108+
109+
peer1:
110+
container_name: peer1
111+
image: rameshthoomu/fabric-peer-x86_64:x86_64-0.7.0-snapshot-3ee280e
112+
environment:
113+
- CORE_PEER_ADDRESSAUTODETECT=true
114+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
115+
- CORE_LOGGING_LEVEL=DEBUG
116+
- CORE_PEER_NETWORKID=peer0
117+
- CORE_NEXT=true
118+
- CORE_PEER_ENDORSER_ENABLED=true
119+
- CORE_PEER_ID=peer1
120+
- CORE_PEER_PROFILE_ENABLED=true
121+
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050
122+
- CORE_PEER_GOSSIP_ORGLEADER=true
123+
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
124+
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984
125+
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
126+
ports:
127+
- 8051:7051
128+
command: peer node start --peer-defaultchain=false
129+
links:
130+
- orderer:orderer
131+
- peer0:peer0
132+
- couchdb1:couchdb1
133+
volumes:
134+
- /var/run/:/host/var/run/
135+
- ./tmp/peer1:/etc/hyperledger/fabric/msp/sampleconfig
136+
networks:
137+
- bridge
138+
139+
peer2:
140+
container_name: peer2
141+
image: rameshthoomu/fabric-peer-x86_64:x86_64-0.7.0-snapshot-3ee280e
142+
environment:
143+
- CORE_PEER_ADDRESSAUTODETECT=true
144+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
145+
- CORE_LOGGING_LEVEL=DEBUG
146+
- CORE_PEER_NETWORKID=peer0
147+
- CORE_NEXT=true
148+
- CORE_PEER_ENDORSER_ENABLED=true
149+
- CORE_PEER_ID=peer2
150+
- CORE_PEER_PROFILE_ENABLED=true
151+
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050
152+
- CORE_PEER_GOSSIP_ORGLEADER=true
153+
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB
154+
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984
155+
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
156+
157+
ports:
158+
- 9051:7051
159+
command: peer node start --peer-defaultchain=false
160+
links:
161+
- orderer:orderer
162+
- peer0:peer0
163+
- peer1:peer1
164+
- couchdb2:couchdb2
165+
volumes:
166+
- /var/run/:/host/var/run/
167+
- ./tmp/peer2:/etc/hyperledger/fabric/msp/sampleconfig
168+
networks:
169+
- bridge
170+
171+
cli:
172+
container_name: cli
173+
image: rameshthoomu/fabric-peer-x86_64:x86_64-0.7.0-snapshot-3ee280e
174+
tty: true
175+
environment:
176+
- GOPATH=/opt/gopath
177+
- CORE_PEER_ADDRESSAUTODETECT=true
178+
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
179+
- CORE_LOGGING_LEVEL=DEBUG
180+
- CORE_NEXT=true
181+
- CORE_PEER_ID=cli
182+
- CORE_PEER_ENDORSER_ENABLED=true
183+
- CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050
184+
- CORE_PEER_ADDRESS=peer0:7051
185+
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
186+
command: sh -c './channel_test.sh; sleep 10000'
187+
# command: /bin/sh
188+
links:
189+
- orderer:orderer
190+
- peer0:peer0
191+
- peer1:peer1
192+
- peer2:peer2
193+
volumes:
194+
- /var/run/:/host/var/run/
195+
#in the "- <HOST>:/opt/gopath/src/github.com/hyperledger/fabric/examples/" mapping below, the HOST part
196+
#should be modified to the path on the host. This will work as is in the Vagrant environment
197+
- ./src/example_cc/example_cc.go:/opt/gopath/src/github.com/hyperledger/fabric/examples/example_cc.go
198+
- ./tmp/peer3/:/etc/hyperledger/fabric/msp/sampleconfig
199+
- ./channel_test.sh:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel_test.sh
200+
networks:
201+
- bridge
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIBFDCBuwICA+gwCgYIKoZIzj0EAwIwFjEUMBIGA1UEAwwLb3JkZXJlck9yZzAw
3+
HhcNMTcwMTI0MTk1NTQ0WhcNMTgwMTI0MTk1NTQ0WjAWMRQwEgYDVQQDDAtvcmRl
4+
cmVyT3JnMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIfmaSgUCSF+J4tkg4fT
5+
6NPAC2YxjK376ke9HiepVGdiiCuWO1V1aEhvVyd0ApcV0tS6S5e0mGCHuHCWUw8X
6+
1zkwCgYIKoZIzj0EAwIDSAAwRQIhAP+kb4Li7RU3VlAvLwmbR6fXy+qTiH4nypoE
7+
VGG3KPh9AiA8K2+A1/jtSSpaeoGoNhJiT19/BQ32mMwlzC19utDsxg==
8+
-----END CERTIFICATE-----
+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIFXZ3gJdH/5CqgYEnzX7r3rv0YFo4zzi9PtUsYOsqvUmoAoGCCqGSM49
3+
AwEHoUQDQgAEh+ZpKBQJIX4ni2SDh9Po08ALZjGMrfvqR70eJ6lUZ2KIK5Y7VXVo
4+
SG9XJ3QClxXS1LpLl7SYYIe4cJZTDxfXOQ==
5+
-----END EC PRIVATE KEY-----
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIBDTCBtQICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9yZzAwHhcN
3+
MTcwMTI0MTk1NTQ1WhcNMTgwMTI0MTk1NTQ1WjATMREwDwYDVQQDDAhwZWVyT3Jn
4+
MDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABOPl4xOwQok0p6QXyOOez3QQDvlf
5+
f/zbdp+2MC/2B/gLxfxXCmY4xU2autGOBWDNcRVWUnwV+Kb1bFmICpgRbAIwCgYI
6+
KoZIzj0EAwIDRwAwRAIgWI7c1ETv5d1Whmp47hA/Vu7OEBHL0RZ/YOpBJVCIPRYC
7+
IF+1fvl9HiboCx1pHaT7YUXoRmFgVTkEaI2ususgcGF4
8+
-----END CERTIFICATE-----

examples/alpha/tmp/ca/peerOrg0_pk.pem

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEILaZVh57gUYYwvw9se2/aHAdISMhhkdVU5ZUVNcXED+4oAoGCCqGSM49
3+
AwEHoUQDQgAE4+XjE7BCiTSnpBfI457PdBAO+V9//Nt2n7YwL/YH+AvF/FcKZjjF
4+
TZq60Y4FYM1xFVZSfBX4pvVsWYgKmBFsAg==
5+
-----END EC PRIVATE KEY-----
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIBDjCBtQICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9yZzEwHhcN
3+
MTcwMTI0MTk1NTQ1WhcNMTgwMTI0MTk1NTQ1WjATMREwDwYDVQQDDAhwZWVyT3Jn
4+
MTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPi8WnwoK2C3n+vDktN1jPan9Ac8
5+
TeL9qQynMFZ15fdD8eOlhi2pk1koX8dfWfJuG3FU1cCvBM8YCNbqaNFYU2YwCgYI
6+
KoZIzj0EAwIDSAAwRQIgaSOImd20mKZeddceGMrgtBU12mE1oQl3zt6xyJcV5PQC
7+
IQCXmOyvtyRqiVop3BOVXAbnFvWTHjNs9UFRk7Hpc2vWAA==
8+
-----END CERTIFICATE-----

examples/alpha/tmp/ca/peerOrg1_pk.pem

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIIG5DQbXui6s2ikCnobfbsXE6XHSu+r/3Nu78tZdTtMzoAoGCCqGSM49
3+
AwEHoUQDQgAE+LxafCgrYLef68OS03WM9qf0BzxN4v2pDKcwVnXl90Px46WGLamT
4+
WShfx19Z8m4bcVTVwK8EzxgI1upo0VhTZg==
5+
-----END EC PRIVATE KEY-----
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIBDjCBtQICA+gwCgYIKoZIzj0EAwIwEzERMA8GA1UEAwwIcGVlck9yZzIwHhcN
3+
MTcwMTI0MTk1NTQ1WhcNMTgwMTI0MTk1NTQ1WjATMREwDwYDVQQDDAhwZWVyT3Jn
4+
MjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIxt6qYrDdVgPARlI8xa1Mnlevxt
5+
vfeAIfZSCIGsUk7puu7QYDWBHLBq/YBVqFHTmtdJeFNlPzGOapx5nRUCjCkwCgYI
6+
KoZIzj0EAwIDSAAwRQIgc3tR6Nmq4FgVO53Hgy0BFp9QQ3vrzmidgs6K9jKBMQgC
7+
IQCs2Ncj/RRL8ak/64qFx1GFLgLKvD6tV2OVXVfTnTg6DQ==
8+
-----END CERTIFICATE-----

examples/alpha/tmp/ca/peerOrg2_pk.pem

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIIkp0auAZDqj1jnbk9NiQFHFvzlp2LGzyf2KiRcrx0XNoAoGCCqGSM49
3+
AwEHoUQDQgAEjG3qpisN1WA8BGUjzFrUyeV6/G2994Ah9lIIgaxSTum67tBgNYEc
4+
sGr9gFWoUdOa10l4U2U/MY5qnHmdFQKMKQ==
5+
-----END EC PRIVATE KEY-----
4.83 KB
Binary file not shown.

0 commit comments

Comments
 (0)