Web3js
空 contract.methods 使用 web3 JS 1.0.0-beta30
我正在嘗試使用 web3 JS 1.0.0-beta30 使用以下程式碼在本地部署的契約上呼叫一個方法。
const tradingCardABI = JSON.parse(fs.readFileSync('build/contracts/TradingCard.json')).abi; const ownerAddress = process.env.OWNER_ADDRESS || '0x627306090abaB3A6e1400e9345bC60c78a8BEf57'; const contractAddress = process.env.CONTRACT_ADDRESS || '0xf25186b5081ff5ce73482ad761db0eb0d25abfbf'; const tradingCardContract = new web3.eth.Contract(tradingCardABI, contractAddress); console.log(`contract json interface=${JSON.stringify(tradingCardContract.options.jsonInterface)}`); console.log(`contract models=${JSON.stringify(tradingCardContract.methods)}`);
我進入
contract methods={}
控制台。有什麼想法嗎?
我也試過了,想知道為什麼
methods object
是empty
. 我試圖 console.loginstance.methods
直接給我一個錯誤,那個……無法顯示。然後我只是嘗試從這個“空”對象呼叫一個函式,它按預期工作。
所以答案是,即使它們沒有顯示在您的 json 輸出中,您也可以呼叫這些方法。
使用以下程式碼呼叫方法:
YOURINSTANCE.methods.YOUR_METHOD().call().then(ret => { console.log(ret); });