通过智能合约调用功能

时间:2017-03-16 11:30:37

标签: solidity smartcontracts

我可以在不使用松露合同的情况下与已部署的合同中的功能进行交互吗?

我只想运行并使用我的功能来检查它们是如何工作的。

我使用了MyContract.at(" 0x ...")。MyFunctionName(参数,{from:" x0 ..."});

但它不起作用。

任何想法或建议

由于

1 个答案:

答案 0 :(得分:0)

很难知道你的意思是“它不起作用”,但我想在松露控制台中运行Future时你没有看到任何输出?

如果是,原因是因为向合同实例调用方法将为您提供MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."}).then(console.log),并且您必须以异步方式处理从调用返回的结果。例如,如果函数返回一个表示某些计算已发生的值,则可以通过以下方式在控制台中打印返回的值:

truffle test

如果你正在编写单元测试(通过MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."}).then(function(returnedValue) { // do something with the returnedValue, e.g. // assert.equal(returnedValue, 3, "The returned value must be 3"); }); 执行),那么你可以通过这样做来处理返回值:

var ns = NamespaceManager.CreateFromConnectionString(sbConnectionString);
var queue = ns.GetQueue(queueName);
var count = queue.MessageCount;