Estoy intentando llamar a un método en un contrato implementado localmente con el siguiente código usando 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)}`);
Me meto contract methods={}
en la consola. ¿Alguna idea?
Intenté lo mismo y me preguntaba por qué methods object
es empty
. Traté de console.log instance.methods
directamente, lo que me dio un error, eso... no se puede mostrar.
Luego, simplemente traté de llamar a una función desde este objeto "vacío" y funcionó como se suponía.
Entonces, la respuesta es que puede llamar a los métodos incluso si no se muestran en su salida json.
Use el siguiente código para llamar a los métodos:
YOURINSTANCE.methods.YOUR_METHOD().call().then(ret => {
console.log(ret);
});