来自智能合约的呼叫功能
问题描述:
是否可以与我已部署的合同中的功能进行交互而不使用松露合同?来自智能合约的呼叫功能
我只是想运行和玩我的功能,以检查他们的工作方式。我使用了MyContract.at(“0x ...”)。MyFunctionName(parameters,{from:“x0 ...”});
但它不起作用。
任何想法或建议
感谢
答
很难知道你的“它不工作”的意思,但我想的是,在松露运行MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."});
当你没有看到任何输出安慰?
如果是,原因是因为调用合同实例的方法会给你一个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");
});
我使用的版本3 – sheemar
究竟是你想用松露做,如何做你的合同变成什么样子,你有哪些参数调用什么功能? – default
为您的问题添加更多信息 –