Truffle

與文件中的合約抽象互動

  • January 7, 2018

在此處的官方 Truffle Docs中,展示瞭如何與已部署的合約進行互動。到目前為止,我只遇到過 Truffle 控制台,對於更大的表達式和 .then() 鏈來說,這一切都很直覺。

有沒有辦法從文件中執行這樣的腳本,而不是使用互動式控制台?

truffle 控制台也是一個 nodejs 控制台,因此您可以簡單地要求任何 javascript 文件並像在正常節點應用程序中一樣執行它。

如果您正在談論如何在控制台之外訪問已部署的合約,那麼;部署合約後,您將獲得合約所在的地址。然後在您的程式碼中導入已部署的合約 ABI,設置 web3 提供程序,並告訴 truffle 合約使用已部署的合約地址。

它會是這樣的:

var tc = require('truffle-contract')

var abi = require('./contract-abi.json')
var MyContract = tc(abi)
MyContract.setProvider(web3.currentProvider)
var instance = await MyContract.at('0x123...abc')
var result = await instance.myMethod()

引用自:https://ethereum.stackexchange.com/questions/35457