在Hyperledger Fabric的fabric-sample
存储库中,尤其是商业用纸的示例应用程序:
有一行调用issue
函数:
const issueResponse = await contract.submitTransaction('issue', 'MagnetoCorp', '00001', '2020-05-31', '2020-11-30', '5000000');
最后一个参数应该是整数,但是值5000000
是作为字符串传递的。
在Hyperledger Fabric中编写NodeJS智能合约时是否要求所有参数都应作为字符串传递?
答案 0 :(得分:1)
是的,函数参数必须作为字符串传递。
如果要将JSON传递给函数,则可以对数据进行字符串化并在方法内部进行解析。
例如:
data = "{\"field1\":\"value1\",\"field2\":\"value2\"}"
var response = await contract.submitTransaction('myFunction', data);
然后在您的链式密码中
async myFunction(ctx, data){
data = JSON.parse(data);
//... your logics
}