¿Cómo leer datos del contrato inteligente usando web3.js?

Quiero crear algo similar a la función de la pestaña Leer contrato de etherscan que lee un contrato y devuelve todos los accesorios públicos como: - nombre, totalSupply, decimales, etc.

Sin embargo, no he encontrado ninguna información sobre la documentación de web3.

Respuestas (1)

Etherscan solo puede proporcionar eso para contratos que verifican su código fuente, o para contratos que siguen una especificación, como ERC20.

Esto se debe a que leer un contrato (o escribirlo) requiere que conozca el ABI para ese contrato. Si tiene el código fuente, puede generarlo. Si no tiene el código, pero el contrato sigue una especificación conocida, puede usar la ABI para esa especificación (tenga en cuenta que, en ese caso, no se podrá acceder a ningún método adicional implementado fuera de la especificación).

Si tiene el ABI, es simplemente cuestión de llamar a funciones específicas en el contrato. Las interacciones del contrato Web3 están cubiertas en la documentación aquí .

sí, tengo el ABI, por lo que dice que podría hacer myContract.myPropo me myContract.myProp.call()gusta si quiero obtener el tokenSupply prop myContract.tokenSuply:?
deberías poder hacermyContract.tokenSupply.call()
debería ser myContract.methods.tokenSupply.call()?
@SSHThis Posiblemente, mis convenciones web3.js son las mejores, rara vez las uso