티스토리 뷰
[Hyperledger Fabric v1.1] 5. Commands Reference: peer chaincode
miiingo 2018. 5. 28. 19:50해당 글은 Hyperledger Fabric 페이지의 게시글을 번역 및 정리한 자료입니다.
원본 사이트 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/commands/peerchaincode.html
peer chaincode
Description
peer chaincode
하위 명령을 사용하면 관리자가 체인 코드 설치, 인스턴스화, 호출, 패키징, 쿼리 및 업그레이드와 같은 피어에 관련된 체인 코드 관련 작업을 수행 할 수 있습니다.
Syntax
peer chaincode
하위 명령의 구문은 다음과 같습니다.
peer chaincode install [flags] peer chaincode instantiate [flags] peer chaincode invoke [flags] peer chaincode list [flags] peer chaincode package [flags] peer chaincode query [flags] peer chaincode signpackage [flags] peer chaincode upgrade [flags]
서로 다른 하위 명령 옵션 (install, instantiate ...)은 피어와 관련된 다른 chaincode 조작과 관련됩니다. 예를 들어, peer chaincode install
하위 명령 옵션을 사용하여 피어에 체인 코드를 설치하거나 peer chaincode query
하위 명령 옵션을 사용하여 피어의 장부에 있는 현재 값에 대한 체인 코드를 조회하십시오.
각 피어 체인 코드 부속 명령은 이 주제의 자체 절에서 옵션과 함께 설명됩니다.
Flags
각 peer chaincode
하위 명령에는 개별 하위 명령에 고유한 플래그 집합과 모든 peer chaincode
하위 명령과 관련된 전역(global) 플래그 세트가 있습니다. 모든 하위 명령이 이 플래그를 사용하는 것은 아닙니다. 예를 들어, query
부속 명령에는 --orderer
플래그가 필요 없습니다.
개별 플래그는 관련 하위 명령으로 설명됩니다. 전역 플래그는 다음과 같습니다.
--cafile <string>
ordering 엔드 포인트에 대한 PEM인 코드된 신뢰할 수 있는 인증서를 포함하는 파일 경로--certfile <string>
orderer 끝점과의 상호 TLS 통신에 사용할 PEM 인코딩된 X509 공개 키를 포함하는 파일 경로--keyfile <string>
orderer 끝점과의 상호 TLS 통신에 사용할 PEM으로 인코딩된 개인 키를 포함하는 파일 경로-o
또는--orderer <string>
ordering 서비스 엔드 포인트는 다음과 같이 지정됩니다.<hostname or IP address>:<port>
--ordererTLSHostnameOverride <string>
TLS 연결을 orderer에게 확인할 때 사용할 호스트 이름 재정의--tls
orderer 엔드 포인트와 통신 할 때 TLS 사용--transient <string>
JSON 인코딩의 인수의 임시 맵--logging-level <string>
기본 로깅 수준 및 재정의, 전체 구문은 core.yaml을 참조하십시오.
peer chaincode install
Install Description
peer chaincode install
명령을 통해 관리자는 피어의 파일 시스템에 체인 코드를 설치할 수 있습니다.
Install Syntax
peer chaincode install
명령 구문은 다음과 같습니다 :
peer chaincode install [flags]
참고 : 설치는 peer chaincode package
명령을 통해 패키지된 체인 코드를 사용하여 수행할 수도 있습니다(설치를 위한 체인 코드 패키징에 대한 자세한 내용은 아래 peer chaincode package
섹션 참조). chaincode 패키지를 사용하는 구문은 다음과 같습니다.
peer chaincode install [chaincode-package-file]
여기서 [chaincode-package-file]
은 peer chaincode package
명령의 출력 파일입니다.
Install Flags
peer chaincode install
명령은 다음 명령 특정 플래그가 있습니다 :
-c, --ctor <string>
JSON 형식의 체인 코드 생성자 메시지 (기본값 "{}")-l, --lang <string>
체인 코드가 쓰여진 언어 (기본 "golang")-n, --name <string>
인스톨되고있는 체인 코드의 이름. 영숫자, 대시 및 밑줄로 구성 될 수 있습니다.-p, --path <string>
인스톨되고있는 체인 코드의 경로. Golang (-l golang) 체인 코드의 경우 GOPATH에 상대적인 경로입니다. Node.js (-l 노드) 체인 코드의 경우 이것은 설치 명령이 수행되는 절대 경로 또는 상대 경로입니다-v, --version <string>
설치중인 체인 코드의 버전. 영숫자, 대시, 밑줄, 마침표 및 더하기 기호로 구성 될 수 있습니다.
Install Usage
다음은 peer chaincode install
명령의 몇 가지 예입니다 .
mycc
버전1.0
에서 명명된 chaincode를 설치하려면 다음을 수행하십시오. :
peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 . . . 2018-02-22 16:33:52.998 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2018-02-22 16:33:52.998 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc . . . 2018-02-22 16:33:53.194 UTC [chaincodeCmd] install -> DEBU 010 Installed remotely response:<status:200 payload:"OK" > 2018-02-22 16:33:53.194 UTC [main] main -> INFO 011 Exiting.....
로그 메시지를 기반으로 설치가 성공적으로 완료되었음을 알 수 있습니다. :
2018-02-22 16:33:53.194 UTC [chaincodeCmd] install -> DEBU 010 Installed remotely response:<status:200 payload:"OK" >
- To install chaincode package ccpack.out generated with the subcommand
package
의 하위 명령으로 생성된 chaincode 패키지ccpack.out
을 설치하려면 :
peer chaincode install ccpack.out . . . 2018-02-22 18:18:05.584 UTC [chaincodeCmd] install -> DEBU 005 Installed remotely response:<status:200 payload:"OK" > 2018-02-22 18:18:05.584 UTC [main] main -> INFO 006 Exiting.....
로그 메시지를 기반으로 설치가 성공적으로 완료되었음을 알 수 있습니다. :
2018-02-22 18:18:05.584 UTC [chaincodeCmd] install -> DEBU 005 Installed
peer chaincode instantiate
Instantiate Description
peer chaincode instantiate
명령을 통해 관리자는 피어가 구성원인 채널에서 체인 코드를 인스턴스화 할 수 있습니다.
Instantiate Syntax
peer chaincode instantiate
명령 구문은 다음과 같습니다 :
peer chaincode instantiate [flags]
Instantiate Flags
peer chaincode instantiate
명령은 다음 명령 특정 플래그가 있습니다 :
-C, --channelID <string>
체인 코드를 인스턴스화해야하는 채널의 이름입니다.-c, --ctor <string>
JSON 형식의 체인 코드 생성자 메시지 (기본값 "{}")-E, --escc <string>
이 체인 코드에 사용할 보증 시스템 체인 코드의 이름 (기본값 "escc")-n, --name <string>
인스턴스화되는 체인 코드의 이름입니다.-P, --policy <string>
이 체인 코드와 관련된 보증 정책. 기본적으로 패브릭은 "현재 채널에 있는 조직의 모든 구성원"과 동일한 보증 정책을 생성합니다.-v, --version <string>
인스턴스화되는 체인 코드의 버전-V, --vscc <string>
이 체인 코드에 사용할 확인 시스템 체인 코드 이름 (기본값 : "vscc")
전역 peer
명령 플래그도 적용됩니다.
--cafile <string>
--certfile <string>
--keyfile <string>
-o, --orderer <string>
--ordererTLSHostnameOverride <string>
--tls
--transient <string>
`--orderer` 플래그를 지정하지 않으면 명령은 검색을 시도합니다. 채널을 발행하기 전에 피어로부터의 채널에 대한 orderer 정보 명령을 인스턴스화하십시오.
Instantiate Usage
다음은 peer chaincode instantiate
명령의 몇 가지 예입니다. 이 명령은 mychannel
채널에서 버전 1.0
의 mycc
라는 체인 코드를 인스턴스화합니다.
--tls
및--cafile
전역(global) 플래그를 사용하여 TLS가 활성화된 네트워크의 체인 코드를 인스턴스화합니다. :
export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem peer chaincode instantiate -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" 2018-02-22 16:33:53.324 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-02-22 16:33:53.324 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc 2018-02-22 16:34:08.698 UTC [main] main -> INFO 003 Exiting.....
- 명령별 옵션만 사용하여 TLS가 비활성화된 네트워크의 체인 코드를 인스턴스화합니다. :
peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n mycc -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" 2018-02-22 16:34:09.324 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-02-22 16:34:09.324 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc 2018-02-22 16:34:24.698 UTC [main] main -> INFO 003 Exiting.....
peer chaincode invoke
Invoke Description
peer chaincode invoke
명령을 사용하여 관리자는 제공된 인수를 사용하여 피어에서 체인 코드 기능을 호출 할 수 있습니다. CLI는 거래 제안서를 피어에게 전송하여 chaincode를 호출합니다. 피어는 체인 코드를 실행하고 승인된 제안 응답 (또는 오류)을 CLI에 보냅니다. 승인된 제안 응답을 받으면 CLI는 트랜잭션을 구성하여 orderer에게 보냅니다.
Invoke Syntax
peer chaincode invoke
명령 구문은 다음과 같습니다. :
peer chaincode invoke [flags]
Invoke Flags
peer chaincode invoke
명령은 다음 명령 특정 플래그가 있습니다 :
-C, --channelID <string>
호출되고있는 체인 코드의 이름-c, --ctor <string>
JSON 형식의 체인 코드 생성자 메시지 (기본값 "{}")-n, --name <string>
호출되고있는 체인 코드의 이름
전역 peer
명령 플래그도 적용됩니다.
--cafile <string>
--certfile <string>
--keyfile <string>
-o, --orderer <string>
--ordererTLSHostnameOverride <string>
--tls
--transient <string>
`--orderer` 플래그를 지정하지 않으면 명령은 검색을 시도합니다. 채널을 발행하기 전에 피어로부터의 채널에 대한 orderer 정보 명령을 호출하십시오.
Invoke Usage
다음은 채널 mychannel
에서 버전 1.0
의 mycc
라는 체인코드를 호출하여 변수 a
에서 변수 b
까지 10 단위 이동을 요청하는 peer chaincode invoke
명령의 예입니다. :
peer chaincode invoke -o orderer.example.com:7050 -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' 2018-02-22 16:34:27.069 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-02-22 16:34:27.069 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc . . . 2018-02-22 16:34:27.106 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> DEBU 00a ESCC invoke result: version:1 response:<status:200 message:"OK" > payload:"\n \237mM\376? [\214\002 \332\204\035\275q\227\2132A\n\204&\2106\037W|\346#\3413\274\022Y\nE\022\024\n\004lscc\022\014\n\n\n\004mycc\022\002\010\003\022-\n\004mycc\022%\n\007\n\001a\022\002\010\003\n\007\n\001b\022\002\010\003\032\007\n\001a\032\00290\032\010\n\001b\032\003210\032\003\010\310\001\"\013\022\004mycc\032\0031.0" endorsement:<endorser:"\n\007Org1MSP\022\262\006-----BEGIN CERTIFICATE-----\nMIICLjCCAdWgAwIBAgIRAJYomxY2cqHA/fbRnH5a/bwwCgYIKoZIzj0EAwIwczEL\nMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG\ncmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh\nLm9yZzEuZXhhbXBsZS5jb20wHhcNMTgwMjIyMTYyODE0WhcNMjgwMjIwMTYyODE0\nWjBwMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN\nU2FuIEZyYW5jaXNjbzETMBEGA1UECxMKRmFicmljUGVlcjEfMB0GA1UEAxMWcGVl\ncjAub3JnMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDEa\nWNNniN3qOCQL89BGWfY39f5V3o1pi//7JFDHATJXtLgJhkK5KosDdHuKLYbCqvge\n46u3AC16MZyJRvKBiw6jTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAA\nMCsGA1UdIwQkMCKAIN7dJR9dimkFtkus0R5pAOlRz5SA3FB5t8Eaxl9A7lkgMAoG\nCCqGSM49BAMCA0cAMEQCIC2DAsO9QZzQmKi8OOKwcCh9Gd01YmWIN3oVmaCRr8C7\nAiAlQffq2JFlbh6OWURGOko6RckizG8oVOldZG/Xj3C8lA==\n-----END CERTIFICATE-----\n" signature:"0D\002 \022_\342\350\344\231G&\237\n\244\375\302J\220l\302\345\210\335D\250y\253P\0214:\221e\332@\002 \000\254\361\224\247\210\214L\277\370\222\213\217\301\r\341v\227\265\277\336\256^\217\336\005y*\321\023\025\367" > 2018-02-22 16:34:27.107 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 00b Chaincode invoke successful. result: status:200 2018-02-22 16:34:27.107 UTC [main] main -> INFO 00c Exiting.....
여기에서 로그 메시지를 기반으로 호출이 성공적으로 제출되었음을 알 수 있습니다. :
2018-02-22 16:34:27.107 UTC [chaincodeCmd] chaincodeInvokeOrQuery -> INFO 00b Chaincode invoke successful. result: status:200
성공적인 응답은 거래가 ordering을 위해 제출되었음을 나타냅니다. 트랜잭션은 블록에 추가되고 마지막으로 채널의 각 피어에 의해 유효성이 검사되거나 무효화됩니다.
peer chaincode list
List Description
peer chaincode list
명령을 사용하여 관리자는 피어에 설치된 체인 코드를 나열하거나 피어가 구성원인 채널에서 인스턴스화된 체인 코드를 나열 할 수 있습니다.
List Syntax
peer chaincode list
명령 구문은 다음과 같습니다. :
peer chaincode list [--installed|--instantiated -C <channel-name>]
List Flags
peer chaincode instantiate
명령은 다음 명령 특정 플래그가 있습니다 :
-C, --channelID <string>
인스턴스화 된 체인 코드를 나열할 채널 이름--installed
피어에 설치된 체인 코드를 나열하려면 이 플래그를 사용하십시오.--instantiated
피어가 구성원인 채널에서 인스턴스화 된 체인 코드를 나열하려면 이 플래그를 사용하십시오.
List Usage
다음은 peer chaincode list
명령의 몇 가지 예입니다.
--installed
플래그를 사용하여 피어에 설치된 체인 코드를 나열합니다.
peer chaincode list --installed Get installed chaincodes on peer: Name: mycc, Version: 1.0, Path: github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02, Id: 8cc2730fdafd0b28ef734eac12b29df5fc98ad98bdb1b7e0ef96265c3d893d61 2018-02-22 17:07:13.476 UTC [main] main -> INFO 001 Exiting.....
피어가 버전 1.0
인 mycc
라는 체인 코드를 설치했음을 알 수 있습니다.
-C
(channel ID) 플래그와 함께--instantiated
를 사용하여 채널에 인스턴스화 된 체인 코드를 나열합니다.
peer chaincode list --instantiated -C mychannel Get instantiated chaincodes on channel mychannel: Name: mycc, Version: 1.0, Path: github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02, Escc: escc, Vscc: vscc 2018-02-22 17:07:42.969 UTC [main] main -> INFO 001 Exiting.....
버전 1.0
인 mycc
체인 코드가 mychannel
채널에서 인스턴스화 된 것을 확인할 수 있습니다.
peer chaincode package
Package Description
관리자는 peer chaincode package
명령을 사용하여 체인 코드 설치를 수행하는 데 필요한 자료를 패키징 할 수 있습니다. 따라서 동일한 체인 코드 패키지가 여러 피어에 일관되게 설치 될 수 있습니다.
Package Syntax
peer chaincode package
명령 구문은 다음과 같습니다. :
peer chaincode package [output-file] [flags]
Package Flags
peer chaincode package
명령은 다음 명령 특정 플래그가 있습니다 :
-c, --ctor <string>
JSON 형식의 체인 코드 생성자 메시지 (기본값 "{}")-i, --instantiate-policy <string>
체인 코드의 인스턴스화 정책. 현재 최대 1 개의 서명이 필요한 정책 (예 : "OR ( 'Org1MSP.peer', 'Org2MSP.peer')) 만 지원됩니다.-l, --lang <string>
체인 코드가 쓰여진 언어 (기본 "golang")-n, --name <string>
인스톨되고있는 체인 코드의 이름. 영숫자, 대시 및 밑줄로 구성 될 수 있습니다.-p, --path <string>
패키징되는 체인 코드의 경로입니다. Golang (-l golang) 체인 코드의 경우 GOPATH에 상대적인 경로입니다. Node.js (-l 노드) 체인 코드의 경우 패키지 명령이 수행되는 절대 경로 또는 상대 경로입니다.-s, --cc-package
원시 체인 코드 배포 사양과 함께 체인 코드 소유권 정보를 저장하는 패키지를 만듭니다 (단, 아래 참고 참조).-S, --sign
-s
플래그 와 함께이 플래그를 지정하면 로컬 MSP를 사용하여 패키지에 소유자 보증을 추가합니다 (단, 아래 참고 참조).-v, --version <string>
설치중인 체인 코드의 버전. 영숫자, 대시, 밑줄, 마침표 및 더하기 기호로 구성 될 수 있습니다.
`-s` 및 `-S` 명령의 메타 데이터는 현재 사용되지 않습니다. 이 명령들은 향후 확장을 위한 것이며 구현 변경을 겪게 될 것입니다. 그것들은 사용하지 않는 것이 좋습니다.
Package Usage
다음은 peer chaincode package
명령의 예제입니다. 이 명령은 버전 1.1
에서 mycc
라는 이름의 체인 코드를 패키지화하고, 체인 코드 배포 사양을 작성하고, 로컬 MSP를 사용하여 패키지에 서명하고, 이를 ccpack.out
으로 출력합니다. :
peer chaincode package ccpack.out -n mycc -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02 -v 1.1 -s -S . . . 2018-02-22 17:27:01.404 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2018-02-22 17:27:01.405 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc . . . 2018-02-22 17:27:01.879 UTC [chaincodeCmd] chaincodePackage -> DEBU 011 Packaged chaincode into deployment spec of size <3426>, with args = [ccpack.out] 2018-02-22 17:27:01.879 UTC [main] main -> INFO 012 Exiting.....
peer chaincode query
Query Description
peer chaincode query
명령은 체인 코드의 Invoke
메소드를 호출하여 체인 코드를 쿼리 할 수 있게 합니다. query
와 invoke
하위 명령의 차이점은 성공한 응답의 경우 invoke
는 orderer에게 트랜잭션을 제출하도록 진행하는 반면, query
는 성공 또는 기타 응답을 표준 출력으로 출력한다는 점입니다.
Query Syntax
peer chaincode query
명령 구문은 다음과 같습니다. :
peer chaincode query [flags]
Query Flags
peer chaincode query
명령은 다음 명령 특정 플래그가 있습니다 :
-C, --channelID <string>
체인 코드를 쿼리해야하는 채널의 이름입니다.-c, --ctor <string>
JSON 형식의 체인 코드 생성자 메시지 (기본값 "{}")-n, --name <string>
쿼리되는 체인 코드의 이름입니다.-r --raw
쿼리 값을 원시 바이트로 출력합니다 (기본값).-x --hex
쿼리 값 바이트 배열을 16 진수로 출력합니다. 호환되지 않는 with -raw
전역 peer
명령 플래그도 적용됩니다.
--transient <string>
Query Usage
다음은 peer chaincode query
명령의 예입니다. peer 원장에 mycc
라는 이름의 체인 코드가 버전 1.0
에서 변수 a
의 값으로 쿼리됩니다. :
peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}' 2018-02-22 16:34:30.816 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc 2018-02-22 16:34:30.816 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc Query Result: 90
쿼리 결과 변수 a
의 값은 90 이었음을 출력에서 확인할 수 있습니다.
peer chaincode signpackage
signpackage Description
peer chaincode signpackage
명령은 -s
및 -S
옵션을 사용하여 peer chaincode package
명령으로 작성된 체인 코드 패키지에 서명을 추가하는 데 사용됩니다.
signpackge Syntax
peer chaincode signpackage
명령 구문은 다음과 같습니다.
peer chaincode signpackage <inputpackage> <outputpackage>
signpackage Usage
다음은 기존 서명된 패키지를 허용하고 로컬 MSP의 서명이 추가된 새 서명을 작성하는 peer chaincode signpackage
명령의 예입니다.
peer chaincode signpackage ccwith1sig.pak ccwith2sig.pak Wrote signed package to ccwith2sig.pak successfully 2018-02-24 19:32:47.189 EST [main] main -> INFO 002 Exiting.....
peer chaincode upgrade
Upgrade Description
관리자는 peer chaincode upgrade
명령을 사용하여 채널에서 인스턴스화 된 체인 코드를 최신 버전으로 업그레이드 할 수 있습니다.
Upgrade Syntax
peer chaincode upgrade
명령 구문은 다음과 같습니다. :
peer chaincode upgrade [flags]
Upgrade Flags
peer chaincode upgrade
명령은 다음 명령 특정 플래그가 있습니다 :
-C, --channelID <string>
체인 코드를 업그레이드해야하는 채널의 이름입니다.-c, --ctor <string>
JSON 형식의 체인 코드 생성자 메시지 (기본값 "{}")-E, --escc <string>
이 체인 코드에 사용할 보증 시스템 체인 코드의 이름 (기본값 "escc")-n, --name <string>
업그레이드되는 체인 코드의 이름-P, --policy <string>
이 체인 코드와 관련된 보증 정책. 기본적으로 패브릭은 "현재 채널에 있는 조직의 모든 구성원"과 동일한 보증 정책을 생성합니다.-v, --version <string>
업그레이드 된 체인 코드의 버전-V, --vscc <string>
이 체인 코드에 사용할 확인 시스템 체인 코드 이름 (기본값 : "vscc")
전역 peer
명령 플래그도 적용됩니다.
--cafile <string>
-o, --orderer <string>
--tls
`--orderer` 플래그를 지정하지 않으면 명령은 업그레이드 명령을 내리기 전에 피어로부터 채널에 대한 orderer 정보를 검색하려고 시도합니다.
Upgrade Usage
다음은 peer chaincode upgrade
명령의 예입니다. mychannel
이라는 채널의 버전 1.0
에서 mycc
라는 체인 코드를 새로운 변수 c
가 포함된 버전 1.1
로 업그레이드합니다. :
- TLS가 활성화된 네트워크에서
--tls
및--cafile
전역(global) 플래그를 사용하여 체인 코드를 업그레이드합니다. :
export ORDERER_CA=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem peer chaincode upgrade -o orderer.example.com:7050 --tls --cafile $ORDERER_CA -C mychannel -n mycc -v 1.2 -c '{"Args":["init","a","100","b","200","c","300"]}' -P "OR ('Org1MSP.peer','Org2MSP.peer')" . . . 2018-02-22 18:26:31.433 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2018-02-22 18:26:31.434 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc 2018-02-22 18:26:31.435 UTC [chaincodeCmd] getChaincodeSpec -> DEBU 005 java chaincode enabled 2018-02-22 18:26:31.435 UTC [chaincodeCmd] upgrade -> DEBU 006 Get upgrade proposal for chaincode <name:"mycc" version:"1.1" > . . . 2018-02-22 18:26:46.687 UTC [chaincodeCmd] upgrade -> DEBU 009 endorse upgrade proposal, get response <status:200 message:"OK" payload:"\n\004mycc\022\0031.1\032\004escc\"\004vscc*,\022\014\022\n\010\001\022\002\010\000\022\002\010\001\032\r\022\013\n\007Org1MSP\020\003\032\r\022\013\n\007Org2MSP\020\0032f\n \261g(^v\021\220\240\332\251\014\204V\210P\310o\231\271\036\301\022\032\205fC[|=\215\372\223\022 \311b\025?\323N\343\325\032\005\365\236\001XKj\004E\351\007\247\265fu\305j\367\331\275\253\307R\032 \014H#\014\272!#\345\306s\323\371\350\364\006.\000\356\230\353\270\263\215\217\303\256\220i^\277\305\214: \375\200zY\275\203}\375\244\205\035\340\226]l!uE\334\273\214\214\020\303\3474\360\014\234-\006\315B\031\022\010\022\006\010\001\022\002\010\000\032\r\022\013\n\007Org1MSP\020\001" > . . . 2018-02-22 18:26:46.693 UTC [chaincodeCmd] upgrade -> DEBU 00c Get Signed envelope 2018-02-22 18:26:46.693 UTC [chaincodeCmd] chaincodeUpgrade -> DEBU 00d Send signed envelope to orderer 2018-02-22 18:26:46.908 UTC [main] main -> INFO 00e Exiting.....
- 명령별 옵션만 사용하여 TLS가 비활성화된 네트워크의 체인 코드를 업그레이드합니다. :
. . . 2018-02-22 18:28:31.433 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc 2018-02-22 18:28:31.434 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc 2018-02-22 18:28:31.435 UTC [chaincodeCmd] getChaincodeSpec -> DEBU 005 java chaincode enabled 2018-02-22 18:28:31.435 UTC [chaincodeCmd] upgrade -> DEBU 006 Get upgrade proposal for chaincode <name:"mycc" version:"1.1" > . . . 2018-02-22 18:28:46.687 UTC [chaincodeCmd] upgrade -> DEBU 009 endorse upgrade proposal, get response <status:200 message:"OK" payload:"\n\004mycc\022\0031.1\032\004escc\"\004vscc*,\022\014\022\n\010\001\022\002\010\000\022\002\010\001\032\r\022\013\n\007Org1MSP\020\003\032\r\022\013\n\007Org2MSP\020\0032f\n \261g(^v\021\220\240\332\251\014\204V\210P\310o\231\271\036\301\022\032\205fC[|=\215\372\223\022 \311b\025?\323N\343\325\032\005\365\236\001XKj\004E\351\007\247\265fu\305j\367\331\275\253\307R\032 \014H#\014\272!#\345\306s\323\371\350\364\006.\000\356\230\353\270\263\215\217\303\256\220i^\277\305\214: \375\200zY\275\203}\375\244\205\035\340\226]l!uE\334\273\214\214\020\303\3474\360\014\234-\006\315B\031\022\010\022\006\010\001\022\002\010\000\032\r\022\013\n\007Org1MSP\020\001" > . . . 2018-02-22 18:28:46.693 UTC [chaincodeCmd] upgrade -> DEBU 00c Get Signed envelope 2018-02-22 18:28:46.693 UTC [chaincodeCmd] chaincodeUpgrade -> DEBU 00d Send signed envelope to orderer 2018-02-22 18:28:46.908 UTC [main] main -> INFO 00e Exiting.....
'Blockchain > Hyperledger Fabric' 카테고리의 다른 글
- Total
- Today
- Yesterday
- 블록체인
- Hyperledger Fabric v1.1
- Blockchain
- Hyperledger Indy
- Private Data
- 코딜리티
- codility
- 빅데이터 교육
- ambrosus
- 코테
- 알고리즘
- 암브로셔스
- javascript
- 빅데이터 기초
- Hyperledger Fabric v1.2
- 하이퍼레저 페브릭
- 어서와 데이터는 처음이지
- ubuntu
- 블록 체인
- 하이퍼레저 인디
- DOCs
- 빅데이터
- 직딩잇템
- 기초 of 기초 데이터 개념
- 코딩테스트
- docker
- Hyperledger Fabric
- 빅데이터 강의
- 문제풀이
- 하이퍼레저 패브릭
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |