티스토리 뷰
[Hyperledger Fabric v1.1] 5. Commands Reference: peer channel
miiingo 2018. 5. 28. 19:51해당 글은 Hyperledger Fabric 페이지의 게시글을 번역 및 정리한 자료입니다.
원본 사이트 : http://hyperledger-fabric.readthedocs.io/en/release-1.1/commands/peerchannel.html
peer channel
Description
관리자는 peer channel
명령을 사용하여 관리자가 채널에 참여하거나 피어가 참여하는 채널을 나열하는 등 피어에서 채널 관련 작업을 수행 할 수 있습니다.
Syntax
peer channel
명령 구문은 다음과 같습니다. :
peer channel create [flags] peer channel fetch [flags] peer channel getinfo [flags] peer channel join [flags] peer channel list [flags] peer channel signconfigtx [flags] peer channel update [flags]
간결함을 위해, 우리는 단순히 명령 (peer
), 하위 명령 (channel
), 또는 하위 명령 옵션 (fetch
)을 명령으로 참조하기도 합니다.
서로 다른 명령 옵션 ( create
, fetch
...)은 피어와 관련된 다양한 채널 작업과 관련이 있습니다. 예를 들어, peer channel join
명령을 사용하여 피어를 채널에 조인하거나 peer channel list
명령을 사용하여 피어가 조인된 채널을 표시하십시오.
각 피어 채널 하위 명령은 이 항목의 자체 섹션에 옵션과 함께 설명됩니다.
Flags
각 peer channel
명령 옵션에는 고유한 플래그 세트가 있으며 관련 하위 명령 옵션으로 설명됩니다.
모든 peer channel
명령 옵션에는 peer channel
명령 옵션에 적용할 수 있는 전역 플래그 집합도 있습니다.
전역 플래그는 다음과 같습니다.
--cafile <string>
여기서<string>
은 피어가 통신중인 orderer의 인증 기관의 PEM으로 인코딩된 인증서 체인을 포함하는 파일에 대한 완전한 경로입니다.--tls
플래그와 함께 사용하십시오.--certfile <string>
여기서<string>
은 orderer와의 상호 인증에 사용되는 PEM 인코드 X.509 인증서가 들어있는 파일의 완전한 경로입니다.--clientauth
플래그와 함께 사용하십시오.--clientauth
이 플래그를 사용하여 orderer와의 상호 TLS 통신을 가능하게하십시오.--certfile
및--keyfile
플래그와 함께 사용하십시오.--keyfile <string>
여기서<string>
은 orderer와 상호 인증을 위해 사용되는 PEM 인코딩 X.509 개인 키를 포함하는 파일에 대한 완전한 경로입니다.--clientauth
플래그와 함께 사용하십시오.-o, --orderer <string>
여기서<string>
은 피어가 통신하고 있는 orderer의 완전한 주소와 포트입니다. 포트가 지정되지 않으면 포트 7050으로 기본 설정됩니다.--ordererTLSHostnameOverride <string>
여기서<string>
은 TLS를 사용하여--orderer
플래그로 지정된 orderer와 통신할 때 사용할 호스트 이름 대체입니다. 피어와 orderer 간의 통신의 TLS 핸드 셰이크 단계가 후속 메시지 교환 단계와 다른 호스트 이름을 사용하는 경우 이 플래그를 사용할 필요가 있습니다.--tls
플래그와 함께 사용하십시오.--tls
이 플래그를 사용하여 orderer와 TLS 통신을 사용 가능하게하십시오.--cafile
에 의해 식별된 인증서는 TLS에서 주문자를 인증하는 데 사용됩니다.
Usage
다음은 peer channel create
명령에 --orderer
전역 플래그를 사용하는 예제입니다.
./createchannel.txn
파일에 포함된 구성 트랜잭션에 의해 정의된 샘플 채널mychannel
을 만듭니다. orderer는orderer.example.com:7050
에 있습니다.
peer channel create -c mychannel -f ./createchannel.txn --orderer orderer.example.com:7050 2018-02-25 08:23:57.548 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-02-25 08:23:57.626 UTC [channelCmd] InitCmdFactory -> INFO 019 Endorser and orderer connections initialized 2018-02-25 08:23:57.834 UTC [channelCmd] readBlock -> DEBU 020 Received block: 0 2018-02-25 08:23:57.835 UTC [main] main -> INFO 021 Exiting.....
채널이 성공적으로 생성되었음을 나타내는 블록 0이 반환됩니다.
peer channel create
Create Description
관리자는 peer channel create
명령을 사용하여 새 채널을 만들 수 있습니다. 이 명령은 peer
명령을 사용하는 경우에도 피어에서 수행되지 않고 이 기능을 수행하기 위해 orderer에 연결합니다.
관리자는 채널을 작성하기 위해 명령을 사용하여 구성 갱신 트랜잭션을 주문자에게 제출합니다. 이 트랜잭션은 새 채널을 만드는 데 필요한 구성 변경 사항을 설명합니다. 또한, 이 거래는 현재의 주문자 구성에 따라 요구되는 조직에 의해 서명되어야합니다. 구성 트랜잭션은 configtxgen
명령에 의해 생성되고 peer channel signconfigtx
명령에 의해 서명될 수 있습니다.
Create Syntax
peer channel create
명령 구문은 다음과 같습니다. :
peer channel create [flags]
Create Flags
peer channel create
명령은 다음 명령 특정 플래그가 있습니다 :
-c, --channelID <string>
required, 여기서<string>
은 생성될 채널의 이름입니다.-f, --file <string>
required , 여기서<string>
은 이 채널을 만드는 데 필요한 구성 트랜잭션을 포함하는 파일을 식별합니다.configtxgen
명령으로 생성할 수 있습니다.-t, --timeout <integer>
optional , 여기서<integer>
는 채널 생성 시간 초과를 초 단위 로 지정합니다. 지정하지 않으면 기본값은 5 초입니다. 명령이 시간 초과되면 채널이 생성되거나 생성되지 않았을 수 있습니다.
전역 peer
명령 플래그는 다음과 같이 적용됩니다.
-o, --orderer
필수--cafile
선택 과목--certfile
선택 과목--clientuth
선택 과목--keyfile
선택 과목--ordererTLSHostnameOverride
선택 과목--tls
선택 과목
Create Usage
다음은 peer channel create
명령 옵션의 예제입니다.
IP 주소에서 orderer.example.com:7050
의 orderer를 사용하여 네트워크에 대한 새 채널 mychannel
을 만듭니다. 이 채널을 작성하는 데 필요한 구성 업데이트 트랜잭션은 ./createchannel.txn
파일로 정의됩니다. 채널이 생성될 때까지 30 초 동안 기다리십시오.
peer channel create -c mychannel --orderer orderer.example.com:7050 -f ./createchannel.txn -t 30 2018-02-23 06:31:58.568 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-02-23 06:31:58.669 UTC [channelCmd] InitCmdFactory -> INFO 019 Endorser and orderer connections initialized 2018-02-23 06:31:58.877 UTC [channelCmd] readBlock -> DEBU 020 Received block: 0 2018-02-23 06:31:58.878 UTC [main] main -> INFO 021 Exiting..... ls -l -rw-r--r-- 1 root root 11982 Feb 25 12:24 mychannel.block
출력에 표시된 대로 mychannel
채널이 성공적으로 생성된 것을 볼 수 있습니다. 여기서 블록 0 (제로)이 이 채널의 블록 체인에 추가되고 피어에 반환됩니다. 이 채널은 mychannel.block
이라는 로컬 디렉토리에 저장됩니다.
블록 0은 채널의 시작 구성을 제공하기 때문에 기원 블록(genesis block) 이라고도 합니다. 채널에 대한 모든 후속 업데이트는 채널의 블록 체인에 있는 구성 블록으로 캡처됩니다. 각 블록은 이전 구성을 대체합니다.
peer channel fetch
Fetch Description
peer channel fetch
명령은 클라이언트가 orderer로부터 블록을 가져올 수 있게 합니다. 블록에는 구성 트랜잭션 또는 사용자 트랜잭션이 포함될 수 있습니다.
클라이언트는 채널에 대한 읽기 액세스 권한이 있어야합니다. 이 명령은 이 기능을 수행하기 위해 orderer에 연결합니다. peer
클라이언트 명령이 사용 되더라도 피어에서는 수행되지 않습니다.
Fetch Syntax
peer channel fetch
명령 구문은 다음과 같습니다. :
peer channel fetch [newest|oldest|config|(block number)] [<outputFile>] [flags]
where
newest
채널의 orderer가 사용할 수 있는 가장 최근 블록을 반환합니다. 이것은 사용자 트랜잭션 블록 또는 구성 블록일 수 있습니다. 이 옵션은 가장 최근 블록의 블록 번호를 반환합니다.oldest
채널의 orderer가 사용할 수 있는 가장 오래된 블록을 반환합니다. 이것은 사용자 트랜잭션 블록 또는 구성 블록일 수 있습니다. 이 옵션은 또한 가장 오래된 블록의 블록 번호를 반환합니다.config
채널의 orderer가 사용할 수있는 가장 최근의 구성 블록을 반환합니다. 이 옵션은 가장 최근의 구성 블록의 블록 번호를 반환합니다.(block number)
채널에 대해 요청된 블록을 반환합니다. 이것은 사용자 트랜잭션 블록 또는 구성 블록일 수 있습니다. 0을 지정하면이 채널의 기원 블록(genesis block)이 반환됩니다 (네트워크 주문자가 계속 사용할 수있는 경우).<outputFile>
인출된 블록이 기록되는 파일의 이름을 지정합니다.<outputFile>
이 지정되지 않으면 블록은 다음과 같은 이름의 파일에서 로컬 디렉토리에 기록됩니다.<channelID>_newest.block
<channelID>_oldest.block
<channelID>_config.block
<channelID>_(block number).block
Fetch Flags
peer channel fetch
명령은 다음 명령 특정 플래그가 있습니다. :
-c, --channelID <string>
required, 여기서 <string>
은 블록이 orderer로부터 fetch될 채널의 이름입니다.
전역 peer
명령 플래그도 적용됩니다.
-o, --orderer
필수--cafile
선택 과목--certfile
선택 과목--clientuth
선택 과목--keyfile
선택 과목--ordererTLSHostnameOverride
선택 과목--tls
선택 과목
Fetch Usage
다음은 peer channel fetch
명령의 몇 가지 예입니다.
newest
옵션을 사용하여 가장 최근의 채널 블록을 검색하고mychannel.block
파일에 저장하십시오.
peer channel fetch newest mychannel.block -c mychannel --orderer orderer.example.com:7050 2018-02-25 13:10:16.137 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-02-25 13:10:16.144 UTC [channelCmd] readBlock -> DEBU 00a Received block: 32 2018-02-25 13:10:16.145 UTC [main] main -> INFO 00b Exiting..... ls -l -rw-r--r-- 1 root root 11982 Feb 25 13:10 mychannel.block
검색된 블록이 숫자 32이고 정보가 mychannel.block
파일에 기록되었음을 알 수 있습니다.
(block number)
옵션을 사용하여 특정 블록 (이 경우 16 번 블록)을 검색하고 기본 블록 파일에 저장합니다.
검색된 블록이 숫자 16이고 정보가 기본 파일 mychannel_16.block
에 기록되었음을 알 수 있습니다.
구성 블록의 경우 configtxlator
명령을 사용하여 블록 파일을 디코딩 할 수 있습니다. 디코드된 출력의 예는 이 명령을 참조하십시오. 사용자 트랜잭션 블록도 디코딩 할 수 있지만 이렇게하려면 사용자 프로그램을 작성해야합니다.
peer channel getinfo
GetInfo Description
peer channel getinfo
명령을 통해 관리자는 특정 채널에 대한 피어의 로컬 블록 체인에 대한 정보를 검색 할 수 있습니다. 여기에는 현재 블록 체인 높이와 현재 블록 및 이전 블록의 해시가 포함됩니다. 피어는 둘 이상의 채널에 조인 될 수 있습니다.
이 정보는 관리자가 특히 동일한 채널의 다른 피어와 비교하여 피어 블록 체인의 현재 상태를 이해해야 할 때 유용합니다.
GetInfo Syntax
peer channel getinfo
명령 구문은 다음과 같습니다. :
peer channel getinfo [flags]
GetInfo Flags
다음은 peer channel getinfo
명령의 예입니다. :
mychannel
채널에 대한 로컬 피어에 대한 정보를 얻습니다.
peer channel getinfo -c mychannel 2018-02-25 15:15:44.135 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized Blockchain info: {"height":5,"currentBlockHash":"JgK9lcaPUNmFb5Mp1qe1SVMsx3o/22Ct4+n5tejcXCw=","previousBlockHash":"f8lZXoAn3gF86zrFq7L1DzW2aKuabH9Ow6SIE5Y04a4="} 2018-02-25 15:15:44.139 UTC [main] main -> INFO 006 Exiting.....
mychannel
채널의 최신 블록이 블록 5임을 알 수 있습니다. 또한 채널 블록 체인의 가장 최근 블록에 대한 암호화 해시를 볼 수 있습니다.
peer channel join
Join Description
관리자는 peer channel join
명령을 사용하여 피어를 기존 채널에 연결할 수 있습니다. 관리자는 이 명령을 사용하여 피어에 채널 생성 블록을 제공함으로써 이를 달성합니다. 그러면 피어는 구성 및 다른 피어의 가용성에 따라 네트워크의 다른 피어 또는 순서대로 채널의 블록을 자동으로 검색합니다.
관리자는 peer channel fetch
명령 옵션을 사용하여 기존 채널에서 블록 0을 검색하여 이 명령에서 사용할 로컬 생성 블록을 만들 수 있습니다. peer channel create
명령은 새로운 채널이 생성 될 때 로컬 생성 블록을 반환합니다.
Join Syntax
peer channel join
명령 구문은 다음과 같습니다. :
peer channel join [flags]
Join Flags
peer channel join
명령은 다음 명령 특정 플래그가 있습니다 :
-b, --blockpath <string>
required, 여기서 <string>
은 채널 생성 블록을 포함하는 파일을 식별합니다. 이 블록은 peer channel fetch
명령을 사용하여 검색하거나 채널에서 블록 0을 요청 하거나 peer channel create
명령을 사용하여 검색할 수 있습니다.
이 명령은 orderer와 상호 작용하지 않으므로 전역(global) peer
명령 플래그는 적용되지 않습니다.
Join Usage
다음은 peer channel join
명령의 예입니다.
./mychannel.genesis.block
파일로 식별된 기원 블록(genesis block)에 정의된 채널에 피어를 참여시킵니다. 이 예에서 채널 블록은 이전에peer channel fetch
명령에 의해 검색되었습니다.
peer channel join -b ./mychannel.genesis.block 2018-02-25 12:25:26.511 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-02-25 12:25:26.571 UTC [channelCmd] executeJoin -> INFO 006 Successfully submitted proposal to join channel 2018-02-25 12:25:26.571 UTC [main] main -> INFO 007 Exiting.....
피어가 성공적으로 채널에 가입을 요청했음을 알 수 있습니다.
peer channel list
List Description
관리자는 peer channel list
명령을 사용하여 피어가 가입된 채널을 나열 할 수 있습니다.
List Syntax
peer channel list
명령 구문은 다음과 같습니다. :
peer channel list [flags]
List Flags
peer channel list
명령은 특정 플래그가 없습니다.
이 명령은 orderer와 상호 작용하지 않으므로 글로벌(global) peer
명령 플래그는 적용되지 않습니다.
List Usage
다음은 peer channel list
명령의 예입니다.
- 피어가 가입된 채널을 나열하십시오.
peer channel list 2018-02-25 14:21:20.361 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized Channels peers has joined: mychannel 2018-02-25 14:21:20.372 UTC [main] main -> INFO 006 Exiting.....
피어가 mychannel
채널에 가입되어 있음을 볼 수 있습니다.
peer channel signconfigtx
SignConfigTx Description
peer channel signconfigtx
명령은 관리자가 orderer에게 제출하기 전에 피어의 ID 자격 증명을 사용하여 구성 트랜잭션에 서명하는 데 도움이 됩니다. 일반적인 구성 트랜잭션에는 채널 생성 또는 채널 구성 업데이트가 포함됩니다.
관리자는 구성 트랜잭션을 설명하는 signconfigtx
명령에 입력 파일을 제공합니다. 그런 다음 명령은 피어의 공개 ID를 파일에 추가하고 피어의 개인 키로 전체 페이로드에 서명합니다. 이 명령은 로컬 MSP에 저장된 피어의 공개 및 개인 자격 증명을 사용합니다. 새 파일이 생성되지 않습니다. 입력 파일이 제 위치에서 갱신됩니다.
signconfigtx
는 구성 트랜잭션에만 서명합니다. 그것을 생성하지도 않으며 orderer에게 제출하지도 않습니다. 일반적으로 구성 트랜잭션은 이 configtxgen
명령을 사용하여 이미 생성된 후 peer channel update
와 같은 적절한 명령에 의해 orderer에게 제출됩니다.
SignConfigTx Syntax
peer channel signconfigtx
명령 구문은 다음과 같습니다. :
peer channel signconfigtx [flags]
SignConfigTx Flags
peer channel signconfigtx
명령은 다음 명령 특정 플래그가 있습니다. :
-f, --file <string>
필수, 여기서 <string>
은 피어를 대신하여 서명할 채널 구성 트랜잭션을 포함하는 파일을 식별합니다.
이 명령은 순서 지정자와 상호 작용하지 않으므로 글로벌(global) peer
명령 플래그는 적용되지 않습니다.
SignConfigTx Usage
다음은 peer channel signconfigtx
명령의 예입니다.
./updatechannel.txn
파일에 정의된channel update
트랜잭션에 서명 하십시오. 이 예는 명령 전후의 구성 트랜잭션 파일을 나열합니다.
ls -l -rw-r--r-- 1 anthonyodowd staff 284 25 Feb 18:16 updatechannel.tx peer channel signconfigtx -f updatechannel.tx 2018-02-25 18:16:44.456 GMT [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initialized 2018-02-25 18:16:44.459 GMT [main] main -> INFO 002 Exiting..... ls -l -rw-r--r-- 1 anthonyodowd staff 2180 25 Feb 18:16 updatechannel.tx
updatechannel.tx
파일의 크기가 284 바이트에서 2180 바이트로 증가하여 피어가 구성 트랜잭션에 성공적으로 서명했음을 알 수 있습니다.
peer channel update
Update Description
관리자는 peer channel update
명령을 사용하여 기존 채널을 업데이트 할 수 있습니다.
채널을 갱신하기 위해 관리자는 명령을 사용하여 필요한 채널 구성 변경 사항을 설명하는 구성 트랜잭션을 주문자에게 제출합니다. 이 거래는 현재 채널 구성에 정의된 필수 조직에서 서명해야합니다. 구성 트랜잭션은 configtxgen
명령에 의해 생성되고 peer channel signconfigtx
명령에 의해 서명 될 수 있습니다.
갱신 트랜잭션은 명령에 의해 명령 변경자에게 권한이 부여 된 것을 확인한 다음 구성 블록을 채널의 모든 피어에 분배하는 orderer에게 전송됩니다. 이러한 방식으로 채널의 모든 피어는 채널 구성의 일관된 복사본을 유지 관리합니다.
Update Syntax
peer channel update
명령 구문은 다음과 같습니다, :
peer channel update [flags]
Update flags
peer channel update
명령은 다음 명령 특정 플래그가 있습니다. :
-c, --channelID <string>
required, 여기서<string>
은 업데이트 할 채널의 이름입니다.-f, --file <string>
required, 여기서<string>
은 트랜잭션 구성 파일을 식별합니다. 이 파일에는 이 채널에 필요한 구성 변경 사항이 포함되어 있으며configtxgen
명령을 사용하여 생성 할 수 있습니다.
전역 peer
명령 플래그는 다음과 같이 적용됩니다.
-o, --orderer
필수--cafile
선택--certfile
선택--clientuth
선택--keyfile
선택--ordererTLSHostnameOverride
선택--tls
선택
Update Usage
다음은 peer channel update
명령의 예입니다.
./updatechannel.txn
파일에 정의된 구성 트랜잭션을 사용하여mychannel
채널을 업데이트 하십시오. ip address의orderer.example.com:7050
에 있는 orderer를 사용하여 구성 트랜잭션을 채널의 모든 피어로 전송하여 채널 구성 사본을 갱신하십시오.
peer channel update -c mychannel -f ./updatechannel.txn -o orderer.example.com:7050 2018-02-23 06:32:11.569 UTC [channelCmd] InitCmdFactory -> INFO 003 Endorser and orderer connections initialized 2018-02-23 06:32:11.626 UTC [main] main -> INFO 010 Exiting.....
- 이 시점에서
mychannel
채널이 성공적으로 업데이트되었습니다.
'Blockchain > Hyperledger Fabric' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Hyperledger Fabric v1.2
- 코테
- 직딩잇템
- DOCs
- 하이퍼레저 인디
- javascript
- 기초 of 기초 데이터 개념
- Blockchain
- 블록체인
- 하이퍼레저 패브릭
- 코딩테스트
- Hyperledger Fabric v1.1
- 문제풀이
- 빅데이터 교육
- docker
- 어서와 데이터는 처음이지
- Hyperledger Fabric
- 하이퍼레저 페브릭
- 블록 체인
- ambrosus
- Hyperledger Indy
- 암브로셔스
- 빅데이터 기초
- 빅데이터 강의
- codility
- Private Data
- 코딜리티
- 알고리즘
- 빅데이터
- ubuntu
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |