错误:找不到任何要执行事务的功能



我的问题是我在模型文件中定义事务,然后在JS脚本中使用它,但会引发错误"错误:找不到任何可以执行交易的功能。"当我尝试执行执行时,它会在代码的测试期间发生

我的模式文件 /** *新型号文件 */

/**
 * New model file
 */
namespace org.acme.bank
participant accountholder identified by bankid
{
  o String bankid
  o String firstname
  o String lastname
  o String address
}
asset acount identified by accno
{
  o String accno
  o String balance 
  -->accountholder customer1
}
transaction amountTransfer 
{
  o String tid
  o String amount
  -->acount owner1
  -->acount owner2
}

我的脚本.js

   /**
* Track the trade of a commodity from one trader to another
* @param {org.acme.bank.amountTransfer} Transfer - to trade
* @transactiton
 */
function Transfer(Transfer)
{
  var amount1=Transfer.owner1.balance
  var amount2=Transfer.owner2.balance
if(Transfer.amount>amount1)
{
  return 0;
}else
{
  owner1.balance-=Transfer.amount
   owner2.balance+=Transfer.amount
  return getAssetRegistry('org.acme.bank.acount')
    .then(function (assetRegistry) {
        return assetRegistry.update(Transfer.owner1);
    }).then(function () {
        return getAssetRegistry('org.acme.bank.acount');
    }).then(function (assetRegistry) {
        return assetRegistry.update(Transfer.owner2);
    });
}  
  }

预先感谢您

我在 my script.js中找到了一个很小的错别字@transactiton,然后我将其更换,然后不再发生错误。

我认为下面的代码可以按照您的预期工作。

  /**
* Track the trade of a commodity from one trader to another
* @param {org.acme.bank.amountTransfer} Transfer - to trade
* @transaction
 */
function Transfer(Transfer)
{
  var amount1=Transfer.owner1.balance
  var amount2=Transfer.owner2.balance
if(Transfer.amount>amount1)
{
  return 0;
}else
{
  var owner1 =  Transfer.owner1
  var owner2 =  Transfer.owner2
  owner1.balance-=Transfer.amount
  owner2.balance+=Transfer.amount
  return getAssetRegistry('org.acme.bank.acount')
    .then(function (assetRegistry) {
        return assetRegistry.update(owner1);
    }).then(function () {
        return getAssetRegistry('org.acme.bank.acount');
    }).then(function (assetRegistry) {
        return assetRegistry.update(owner2);
    });
}  
  }

现在,模型中的balanceamount字段的类型已更改为Integer

最新更新