我可以在不使用 truffle-contract 的情况下与部署的合约中的函数进行交互吗?
我只想运行并使用我的函数来检查它们是如何工作的。
我用 MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."});
但它不起作用。
任何想法或建议
谢谢
我可以在不使用 truffle-contract 的情况下与部署的合约中的函数进行交互吗?
我只想运行并使用我的函数来检查它们是如何工作的。
我用 MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."});
但它不起作用。
任何想法或建议
谢谢
很难知道“它不起作用”是什么意思,但我猜你MyContract.at("0x...").MyFunctionName(parameters,{from:"x0..."});
在 truffle 控制台中运行时没有看到任何输出?
如果是,原因是因为调用合约实例的方法会给你一个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");
});