2017-03-16 59 views
-1

是否可以與我已部署的合同中的功能進行交互而不使用松露合同?來自智能合約的呼叫功能

我只是想運行和玩我的功能,以檢查他們的工作方式。我使用了MyContract.at(「0x ...」)。MyFunctionName(parameters,{from:「x0 ...」});

但它不起作用。

任何想法或建議

感謝

+0

我使用的版本3 – sheemar

+0

究竟是你想用松露做,如何做你的合同變成什麼樣子,你有哪些參數調用什麼功能? – default

+0

爲您的問題添加更多信息 –

回答

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"); 
});