-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathchaincode_funcs.txt
More file actions
64 lines (42 loc) · 4.1 KB
/
chaincode_funcs.txt
File metadata and controls
64 lines (42 loc) · 4.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
In order to package-install-approve-commit the chaincode you have to export the CORE_PEER of one of the two orgs.
#Kali Org
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="KaliMSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/network/organizations/peerOrganizations/kali/peers/peer0.kali/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/network/organizations/peerOrganizations/kali/users/Admin_kali@kali/msp
export CORE_PEER_ADDRESS=localhost:7051
#Pi Org
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="PiMSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/network/organizations/peerOrganizations/pi/peers/peer0.pi/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/network/organizations/peerOrganizations/pi/users/Adminn_pi@pi/msp
export CORE_PEER_ADDRESS=localhost:8051
1. package the chaincode - This can be done by any organization
peer lifecycle chaincode package ./chaincode/accesscontrol.tar.gz --path ./chaincode --lang golang --label accesscontrol
2. install chaincode - must be done by both organizations
peer lifecycle chaincode install ./chaincode/accesscontrol.tar.gz
*** keep the package id ***
3. approve chaincode - must be done by both organizations
*** change the pakage id : accesscontrol:5918ef79e12b4f47ee7a074b69f271df7ae2fb98cca70a0185bfe375d7f74040 to whatever is the output of previous step (install)
peer lifecycle chaincode approveformyorg -o localhost:7050 --ordererTLSHostnameOverride orderer.auth --tls --cafile $ORDERER_CA --channelID dmproject --name accesscontrol --version 1.0 --package-id accesscontrol:a19df0ff3111b46c34646aaee1ee97cb9f1e052f6210b587f7315cd80d2ff136 --sequence 1
4. commit chaincode - must be one organizations
peer lifecycle chaincode commit -o localhost:7050 --ordererTLSHostnameOverride orderer.auth --tls --cafile $ORDERER_CA --channelID dmproject --name accesscontrol --peerAddresses localhost:8051 --tlsRootCertFiles ${PWD}/network/organizations/peerOrganizations/pi/peers/peer0.pi/tls/ca.crt --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/network/organizations/peerOrganizations/kali/peers/peer0.kali/tls/ca.crt --version 1.0 --sequence 1
Now the chaincode is installed successfully
To query or invoke the chaincode please export the paths of an org and a user as follows
#Pi org and user Admin_pi
export CORE_PEER_TLS_ENABLED=true
export CORE_PEER_LOCALMSPID="PiMSP"
export CORE_PEER_TLS_ROOTCERT_FILE=${PWD}/network/organizations/peerOrganizations/pi/peers/peer0.pi/tls/ca.crt
export CORE_PEER_MSPCONFIGPATH=${PWD}/network/organizations/peerOrganizations/pi/users/Admin_pi@pi/msp
export CORE_PEER_ADDRESS=localhost:8051
peer chaincode invoke -o localhost:7050 --ordererTLSHostnameOverride orderer.auth --tls --cafile $ORDERER_CA -C dmproject -n accesscontrol -c '{"function":"insertDevice","Args":["Computer", "Electronic Computer with Interent Access", "Adult"]}' --peerAddresses localhost:8051 --tlsRootCertFiles ${PWD}/network/organizations/peerOrganizations/pi/peers/peer0.pi/tls/ca.crt --peerAddresses localhost:7051 --tlsRootCertFiles ${PWD}/network/organizations/peerOrganizations/kali/peers/peer0.kali/tls/ca.crt
peer chaincode query -C dmproject -n accesscontrol -c '{"function":"ReadAsset","Args":["asset1"]}'
peer chaincode query -C dmproject -n accesscontrol -c '{"function":"getDevice","Args":["Computer"]}'
peer chaincode query -C dmproject -n accesscontrol -c '{"function":"accessDevice","Args":["Computer"]}'
In order to change a user to invoke or query a chaincode you have only to change the CORE_PEER_MSPCONFIGPATH to point to the users msp folder.
#to use dani_kali user just export the following with all the org environments already exported before
export CORE_PEER_MSPCONFIGPATH=${PWD}/network/organizations/peerOrganizations/kali/users/dani_kali@kali/msp
#to use Kid_pi user just export the following with all the org environments already exported before
export CORE_PEER_MSPCONFIGPATH=${PWD}/network/organizations/peerOrganizations/pi/users/Kid_pi@pi/msp
#to use Adult_pi user just export the following with all the org environments already exported before
export CORE_PEER_MSPCONFIGPATH=${PWD}/network/organizations/peerOrganizations/pi/users/Adult_pi@pi/msp