Node.js 在Hyperledger Fabric NodeJS智能合约中,是否应将所有参数作为字符串传递?

Node.js 在Hyperledger Fabric NodeJS智能合约中,是否应将所有参数作为字符串传递?,node.js,hyperledger-fabric,Node.js,Hyperledger Fabric,在Hyperledger fabric的结构示例存储库中,特别是商业票据的示例应用程序: 有一行调用issue函数: const issueResponse = await contract.submitTransaction('issue', 'MagnetoCorp', '00001', '2020-05-31', '2020-11-30', '5000000'); 最后一个参数假定为整数,但值5000000作为字符串传递 在Hyperledger结构中编写NodeJS智能合约时是否要求

在Hyperledger fabric的
结构示例
存储库中,特别是商业票据的示例应用程序:

有一行调用
issue
函数:

const issueResponse = await contract.submitTransaction('issue', 'MagnetoCorp', '00001', '2020-05-31', '2020-11-30', '5000000');
最后一个参数假定为整数,但值
5000000
作为字符串传递


在Hyperledger结构中编写NodeJS智能合约时是否要求所有参数都应作为字符串传递

是,函数参数必须作为字符串传递

如果要将JSON传递给函数,可以对数据进行字符串化,并在方法内部对其进行解析

例如:

data = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
var response = await contract.submitTransaction('myFunction', data);
然后在你的链码里

async myFunction(ctx, data){
    data = JSON.parse(data);

    //... your logics
}