Hyperledger Composer 中的事务函数返回类型



我在事务函数定义中使用@return(MyConcept(,即在cto文件中。

根据事务功能中的某些条件,我希望返回类型是动态的,即有时它可能返回MyConcept1,有时返回MyConcept2,有时甚至返回null。

我怎样才能做到这一点?

使用"主"概念来保存其他可选概念

例:

participant Publisher identified by id {
o String id
}
asset myAsset identified by id {
o String id
o String value
}
concept MyConcept1 {
o String value
}
concept MyConcept2 {
o String value optional
}
concept MyConcept {
o MyConcept1 myc1 optional
o MyConcept2 myc2 optional
}
@returns(MyConcept)
transaction myTransaction {
--> myAsset
etc
}

我的交易可以返回您设置的概念中的任何内容

例如。

/**
* Handle a transaction that returns a concept.
* @param {org.sample.MyTransaction} transaction The transaction.
* @returns {org.sample.MyConcept} The concept.
* @transaction
*/
async function myTransaction(transaction) {
// other stuff
const factory = getFactory();
// assign values
var conceptData1 = factory.newConcept('org.sample', 'MyConcept1');
conceptData1.value = transaction.myAsset.value; // etc
//
// return master (you define myConceptdata) based on what was set .. some of which could be blank
return myConceptdata;
}

最新更新