Hyperledger作曲家如何强制执行交易输入的有效性?

时间:2017-11-22 06:32:54

标签: transactions hyperledger-fabric hyperledger-composer

在我的应用程序中,我的事务建模如下:

transaction Invoice {
    o String invoiceNumber
    o DateTime invoiceDt
    o Double amount
    o Integer creditPeriod
    o String poNumber

  --> Buyer buyer
  --> Seller seller 
}

我想确保买方和卖方存在买方/卖方注册表

当我在Composer中测试时,即使买方注册表中没有交易中的买方,交易仍然会被提交。

非常感谢任何帮助。

谢谢&问候...

1 个答案:

答案 0 :(得分:1)

因此,检查您是否确实有买方和/或卖方是由您明确检查您的交易逻辑 - 我们本身并未强制执行。理想情况下,在提交()事务之前,您是否会对两者进行检查?

但TP函数的答案是在你的链中抛出一个错误 - 那么事务就不会被提交了!

例如

 // and catch any exceptions that are triggered
      .catch(function (error) {
          throw error;
});