티스토리 뷰

반응형

해당 글은 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 subcommandpackage의 하위 명령으로 생성된 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.0mycc라는 체인 코드를 인스턴스화합니다.

  • --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.0mycc라는 체인코드를 호출하여 변수 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.0mycc라는 체인 코드를 설치했음을 알 수 있습니다.

  • -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.0mycc 체인 코드가 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 메소드를 호출하여 체인 코드를 쿼리 할 수 있게 합니다. queryinvoke 하위 명령의 차이점은 성공한 응답의 경우 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.....


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함