我正在使用Hyperledger来定义模型文件。
我有以下基本样本。
asset MyAsset identified by id {
o String id
--> MyOwner owner
o String field1
o String field2
}
我的目标是替换field1
和field2
(我有许多不同的字段,可以在运行时自定义),使用通用数组映射,例如String{} fields
,在我的脚本文件中作为键/值数组访问。
我该怎么做?
答案 0 :(得分:-1)
您可以将资产定义为:
asset MyAsset identified by id {
o String id
--> Owner owner
o String[] fields
o Double balance
}
然后,您将在交易中访问该数组(无论您将其建模为......)
例如(样本)
transaction Trade {
--> Owner owner
--> MyAsset myasset
o Double amount
}
然后在您的资产中访问它,如:
/**
* Perform a deposit or withdrawal from a bank account
* @param {org.acme.account.Transfer} txfr
* @transaction
*/
function execTxfr(txfr) {
// sample code below
if(txfr.myasset.fields == null) {
txfr.myasset.fields = [];
}
// do some logic then push to array
txfr.myasset.balance += txfr.amount ;
txfr.myasset.fields.push(txfr); // just pushing the transfer transaction object to your array as an example
// update the asset registry with the new balance and trxn object added to fields
return getAssetRegistry('org.acme.account.MyAsset')
.then(function(registry) {
return registry.update(txfr.myasset);
});
}