来自智能合约的呼叫功能

来自智能合约的呼叫功能

问题描述:

是否可以与我已部署的合同中的功能进行交互而不使用松露合同?来自智能合约的呼叫功能

我只是想运行和玩我的功能,以检查他们的工作方式。我使用了MyContract.at(“0x ...”)。MyFunctionName(parameters,{from:“x0 ...”});

但它不起作用。

任何想法或建议

感谢

+0

我使用的版本3 – sheemar

+0

究竟是你想用松露做,如何做你的合同变成什么样子,你有哪些参数调用什么功能? – default

+0

为您的问题添加更多信息 –

很难知道你的“它不工作”的意思,但我想的是,在松露运行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"); 
});