2017-09-22 7 views
0

저는 hyperledger-composer (V0.13)의 최신 개정판을 작성 중이며 여러 역할을 가진 네트워크를 구축했으며 각 역할은 블록 체인에서 선택된 트랜잭션을 호출 할 수 있습니다. 이제 특정 Order (정의 된 유형의 자산)에 대해 실행 된 모든 트랜잭션에 대해 블록 체인 (? Historian?)에 쿼리하려고합니다.hyperledger-composer를 사용하여 구현 된 블록 체인에서 자산의 거래 내역을 어떻게 찾을 수 있습니까?

나는 정의 된 쿼리를 통해 직접 API 액세스 historian.getall() 다른 통해 한 번, 사학자 데이터를 당기에 두 개의 서로 다른 appoaches을 사용했습니다 :

query getHistorianRecords { 
    description: "get all Historian records" 
    statement: SELECT org.hyperledger.composer.system.HistorianRecord 

} 

두 쿼리가 시스템 내에서 모든 트랜잭션을 반납에 성공. 예 :

ValidatedResource { 
    '$modelManager': ModelManager { modelFiles: [Object] }, 
    '$namespace': 'org.hyperledger.composer.system', 
    '$type': 'HistorianRecord', 
    '$identifier': '0c3274475fed3703692bb7344453ab0910686905451b41d5d08ff1b032732aa1', 
    '$validator': ResourceValidator { options: {} }, 
    transactionId: '0c3274475fed3703692bb7344453ab0910686905451b41d5d08ff1b032732aa1', 
    transactionType: 'org.acme.Z2BTestNetwork.CreateOrder', 
    transactionInvoked: 
    Relationship { 
     '$modelManager': [Object], 
     '$namespace': 'org.acme.Z2BTestNetwork', 
     '$type': 'CreateOrder', 
     '$identifier': '0c3274475fed3703692bb7344453ab0910686905451b41d5d08ff1b032732aa1', 
     '$class': 'Relationship' }, 
    eventsEmitted: [], 
    transactionTimestamp: 2017-09-22T19:32:48.182Z } 

내가 찾을 수 없으며 필요한 것은 단일 주문에 대한 거래 내역을 쿼리하는 방법입니다. 내가 무엇을 찾고 있어요 것은 내게는 Order with orderNumber = '009'에 관한 모든 기록을 얻을 수있는 blockchain를 조회 할 수 있도록하는 메커니즘입니다

asset Order identified by orderNumber { 
    o String orderNumber 
    o String[] items 
    o String status 
    ... 
    o String approved 
    o String paid 
    --> Provider provider 
    --> Shipper shipper 
    --> Buyer buyer 
    --> Seller seller 
    --> FinanceCo financeCo 

: 다음과 같이 주문 (일부 목록)을 정의한다. 나는 주문 # 009의 현재 상태를 쉽게 발견 할 수 있고, 가지고 있지만, 그 주문에 대한 거래 내역을 찾고 있습니다. 히스 트레져 또는 작곡가 시스템의 다른 서비스에 그 정보를 제공하는 방법은 무엇입니까?

답변

2

당신이하려는 것은 총체적입니다. 그러나 역사가는 아직 그것을 지원하지 않습니다. 이 요구 사항은 여기에 추적되고 : https://github.com/hyperledger/composer/issues/991

계획이 수행 한 작업 (생성, 업데이트, 삭제와 함께 트랜잭션에 의해 영향을하는 자산과 참가자의 ID를 캡처 할 HistorianRecord에 메타 데이터를 추가하는 것입니다 읽기 ?).

해당 자산/참가자 ID를 참조하는 HistorianRecord을 쿼리 할 수 ​​있습니다.