调用Hyperledger Composer智能合约时如何传输对象?

时间:2018-07-08 11:04:50

标签: hyperledger-fabric hyperledger hyperledger-composer

我正在使用Hyperledger作曲器开发POC。作为模型的一部分,我有一个称为合同的资产。定义如下:

asset Contract identified by contractId {
  o String contractId
  --> Customer customer
  --> Supplier supplier
  --> Commodity commodity
  o Double minDaily
  o Double maxDaily
  o Double maxAnnual
}

在我的链码中,我需要从该合同资产中创建多个变量以检查许多条件。如下:

async function nominate(tx) {

    let customer = tx.contract.customer;
    let supplier = tx.contract.supplier; 
    let minDaily = tx.contract.minDaily;
    let maxDaily = tx.contract.maxDaily;
    let maxAnnual = tx.contract.maxAnnual;
    let quantity = tx.quantity;
    // the rest of the code...
}

我的问题是,在进行交易时,合同资产(或一般而言,任何其他资产)是否经过交易本身,或者只是对资产的引用在交易中。正如我所说的,这是一般性的。对于所有资产(例如客户),它是否通过交易进行,或者是否存在对交易的引用?这也是我在Hyperledger Fabric中的关注点。作曲家只是一个工具。我想知道Fabric中的机制也是什么。

我担心安全原因。如果合同资产通过交易进行,我担心黑客是否可以在应用程序的任何层更改合同的参数,而所有这些参数必须是不可变的,并且只能根据条件进行检查。

感谢您的帮助。 谢谢。

0 个答案:

没有答案