我正在使用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中的机制也是什么。
我担心安全原因。如果合同资产通过交易进行,我担心黑客是否可以在应用程序的任何层更改合同的参数,而所有这些参数必须是不可变的,并且只能根据条件进行检查。
感谢您的帮助。 谢谢。