네트워크에 Fabric 조직 추가

이 항목에는 Hyperledger Fabric 조직을 Oracle Blockchain Platform 네트워크에 연결하는 방법에 대한 정보가 포함되어 있습니다.

Typical Workflow to Join a Fabric Organization to an Oracle Blockchain Platform Network

Fabric 조직과 Oracle Blockchain Platform 설립자 조직이 Fabric 조직에 Oracle Blockchain Platform 네트워크에 가입하기 위해 수행해야 하는 작업은 다음과 같습니다.

태스크 누가 이 작업을 수행합니까? 설명 추가 정보
Fabric 조직에 대한 인증서 파일 만들기 Fabric 조직 Fabric 조직의 Admin, CA 및 TLS 인증서 정보를 찾아서 JSON 인증서 파일을 작성하는 데 사용합니다. Fabric 조직의 인증서 파일 만들기
Oracle Blockchain Platform 네트워크에 Fabric 조직의 인증서 파일 업로드 설립자 조직 콘솔을 사용하여 Fabric 조직의 인증서 파일을 업로드하고 가져와서 Fabric 조직을 네트워크에 추가합니다. 네트워크에 조직을 추가할 인증서 임포트
채널 생성 설립자 조직 새 채널을 만들고 Fabric 조직을 추가합니다. 채널 생성
설립자로부터 주문 서비스 설정 내보내기 설립자 조직 설립자의 주문 서비스 설정을 JSON 파일로 출력하고 파일을 Fabric 조직으로 보냅니다. 참가자 또는 스케일 아웃된 OSN에 가입하여 설립자 주문 서비스 제공
주문자 인증서 파일 작성 Fabric 조직 tlscacert 정보가 포함된 orderer.pem라는 파일을 만듭니다.

내보낸 주문 서비스 설정 파일로 이동하여 tlscacert 정보를 복사합니다. tlscacert 정보를 orderer.pem 파일에 붙여넣은 후 \n의 모든 인스턴스를 개행 문자로 바꾸어야 합니다.

orderer.pem 파일의 형식은 다음과 같아야 합니다.

-----BEGIN CERTIFICATE-----
... 
...
... 
-----END CERTIFICATE-----
Fabric 조직의 인증서 파일 만들기
주문 서비스 설정 제공 설립자 조직 주문 서비스 설정 파일을 열고 주문 서비스의 주소와 포트를 찾아 Fabric 조직에 제공합니다. 예:
"orderingServiceNodes": [
{
"address": "grpcs://example_address:7777",
...
}]
NA
네트워크에 Fabric 조직 추가 Fabric 조직 Fabric 조직은 인증서를 해당 환경에 복사하고, 환경 변수를 설정하고, Genesis 블록을 인출하고, 채널을 결합하고, 체인 코드를 설치합니다. Oracle Blockchain Platform 네트워크를 사용할 Fabric 환경 준비

Fabric 조직의 인증서 파일 만들기

Fabric 조직에서 Oracle Blockchain Platform 네트워크에 가입하려면 해당 관리자, cacerts 및 tlscacerts 정보가 포함된 인증서 파일을 작성해야 합니다. Oracle Blockchain Platform 설립자 조직은 이 파일을 가져와서 Fabric 조직을 네트워크에 추가합니다.

패브릭 인증서 정보는 Fabric 조직의 MSP 폴더에 있는 PEM 파일에 저장됩니다. 예: network_name_example/crypto-config/peerOrganizations/example_org.com/msp/.

인증서 파일은 JSON으로 작성되어야 하며 다음 필드를 포함해야 합니다. 모든 인증서의 경우, 인증서 정보를 JSON 파일로 복사할 때 각 새 행을 \n으로 바꿔야 합니다. 그러면 다음 예와 같이 정보가 모두 한 행에 공백 없이 배치됩니다.

  • mspid - Fabric 조직의 이름을 지정합니다.

  • type - 조직이 네트워크 참여자임을 나타냅니다. 이 값은 참가자여야 합니다.
  • admincert - 조직의 관리자 인증서 파일 Admin@example_org.com-cert.pem의 내용을 포함합니다.

  • cacert - 조직의 CA 인증서 파일 ca.example_org-cert.pem의 내용을 포함합니다.

  • tlscacert - 조직의 TLS 인증서 파일 tlsca.example_org-cert.pem의 내용을 포함합니다.

  • intermediatecerts - 이 선택적 요소는 중간 CA 인증서 파일의 내용을 포함합니다. 중간 CA 인증서 파일이 없으면 이 요소를 지정하지 마십시오.
  • nodeouidentifiercert - 이 섹션에는 노드 OU 역할을 식별하는 인증서가 포함되어 있습니다.
  • adminouidentifiercert - 노드 OU 관리 역할을 식별하는 데 사용되는 조직의 인증서 파일 내용을 포함합니다. admin 역할이 필요하지 않은 경우 cacert 파일 내용이나 중간 인증서 파일 내용을 adminouidentifier 내용으로 사용할 수 있습니다.

  • clientouidentifiercert - 노드 OU 클라이언트 역할을 식별하는 데 사용되는 조직의 인증서 파일 컨텐츠를 포함합니다.

  • ordererouidentifiercert - 노드 OU 주문자 역할을 식별하는 데 사용되는 조직 인증서 파일의 내용을 포함합니다. 주문자 역할이 필요하지 않은 경우 cacert 파일 내용이나 중간 인증서 파일 내용을 주문자 식별자의 내용으로 사용할 수 있습니다.

  • peerouidentifiercert - 노드 OU 피어 역할을 식별하는 데 사용되는 조직의 인증서 파일 내용을 포함합니다.

다음 예제와 유사한 파일을 구성합니다.
{
  "mspID": "examplemspID",
  "type":  "Participant",
  "certs": { 
   "admincert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
   "cacert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
   "tlscacert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n"
   "nodeouidentifiercert": {
      "adminouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
      "clientouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
      "ordererouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n",
      "peerouidentifiercert": "-----BEGIN CERTIFICATE-----\nexample_certificate\nexample_certificate==\n-----END CERTIFICATE-----\n"
    }
  }
} 
    

Oracle Blockchain Platform 네트워크를 사용할 수 있도록 Fabric 환경 준비

Fabric 조직의 환경을 수정해야만 Oracle Blockchain Platform 네트워크를 사용할 수 있습니다.

다음 필요 조건 작업이 완료되었는지 확인합니다. 자세한 내용은 Fabric 조직에 Oracle Blockchain Platform 네트워크에 가입하기 위한 일반적인 워크플로우를 참조하십시오.

  • Fabric 조직의 인증서 파일이 만들어져서 Oracle Blockchain Platform 네트워크 설립자에게 전송되었습니다.

  • 네트워크 설립자가 인증서 파일을 업로드하여 Fabric 조직을 네트워크에 추가했습니다.

  • 네트워크 설립자가 새 채널을 만들고 Fabric 조직을 추가했습니다.

  • 네트워크 설립자가 주문 서비스 설정을 다운로드하여 Fabric 조직에 전송했습니다.

  • Fabric 조직에서 주문자 인증서 파일을 만들었습니다.

  • 네트워크 설립자가 Fabric 조직에 주문 서비스 주소와 포트를 제공했습니다.

Fabric 조직을 추가하고 체인 코드를 설치 및 테스트해야 합니다.

  1. Fabric 네트워크 디렉토리로 이동하여 피어 컨테이너를 실행합니다.

  2. 다음 명령을 사용하여 채널의 Genesis 블록을 인출합니다.

    peer channel fetch 0 mychannel.block -o ${orderer_addr}:${orderer_port} -c mychannel --tls --cafile orderer.pem --logging-level debug  

    설명:

    • {orderer_addr}는 설립자의 주문자 주소입니다.

    • {orderer_port}은 설립자의 포트 번호입니다.

    • -c mychannel은 설립자가 만든 채널의 이름입니다. 이 채널은 Fabric 조직이 Oracle Blockchain Platform 네트워크에서 트랜잭션을 송수신할 채널입니다.

    • orderer.pem는 설립자의 주문자 인증서 파일입니다.

  3. 다음 명령을 사용하여 채널을 조인합니다.

    peer channel join -b mychannel.block -o ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem --logging-level debug
  4. 다음 명령을 사용하여 체인 코드를 설치합니다.

    peer chaincode install -n mycc -v 1.0 -l "golang" -p ${CC_SRC_PATH}

    여기서 CC_SRC_PATH는 체인 코드를 포함하는 폴더입니다.

  5. 다음 명령을 사용하여 체인 코드를 인스턴스화합니다.

    peer chaincode instantiate -o  ${orderer_addr}:${orderer_port} --tls --cafile orderer.pem -C mychannel -n mycc -l golang -v 1.0 -c '{"Args":["init","a","100","b","200"]}' -P <policy_string> --logging-level debug
  6. 다음 명령을 사용하여 체인 코드를 호출합니다.

    peer chaincode invoke -o ${orderer_addr}:${orderer_port}  --tls true --cafile orderer.pem -C mychannel -n mycc -c '{"Args":["invoke","a","b","10"]}' --logging-level debug
  7. 다음 명령을 사용하여 체인 코드를 질의합니다.

    peer chaincode query -C mychannel -n mycc -c '{"Args":["query","a"]}'  --logging-level debug