Hyperledger Fabric Node.js API合同方法中的可选参数错误

Hyperledger Fabric Node.js API合同方法中的可选参数错误,node.js,hyperledger-fabric,hyperledger,hyperledger-chaincode,Node.js,Hyperledger Fabric,Hyperledger,Hyperledger Chaincode,无法在协定方法中传递可选参数。如果我将arg标记为可选,我将从HL(版本1.4)中获得错误: 所以Contract方法只等待2个参数,但我定义了3…如果optionalArg没有默认值,它工作正常吗?如果是这样的话,我建议你在@david_k为FABCN项目提出jira感谢你的回答。不,那么它需要这个参数并抛出错误。所以使用带有默认值的参数是个问题,看起来不起作用。您需要在Fabric Chaincode节点项目(FABCN)上提出一个问题。 class MyContract extends C

无法在协定方法中传递可选参数。如果我将arg标记为可选,我将从HL(版本1.4)中获得错误:


所以Contract方法只等待2个参数,但我定义了3…

如果optionalArg没有默认值,它工作正常吗?如果是这样的话,我建议你在@david_k为FABCN项目提出jira感谢你的回答。不,那么它需要这个参数并抛出错误。所以使用带有默认值的参数是个问题,看起来不起作用。您需要在Fabric Chaincode节点项目(FABCN)上提出一个问题。
class MyContract extends Contract {

  async someMethod(ctx, arg1, arg2, optionalArg = undefined) {
   // do smth
  }

}

// And when I'm calling from client

const res = await contract.submitTransaction('someMethod', 'arg1', 'arg2', 'optional');

// I'm getting arguments error

[DiscoveryEndorsementHandler]: _build_endorse_group_member >> G0:0 - endorsement failed - 
Error: transaction returned with failure: 
Error: Expected 2 parameters, but 3 have been supplied