API para "Leer información del contrato" para obtener estadísticas de una ICO

Estoy buscando formas de leer estadísticas/variables que se muestran en EtherScan Contract Info por API,

Por ejemplo, ICO TAAS reciente, tengo dirección de contrato,

ingrese la descripción de la imagen aquí

https://etherscan.io/address/0xe7775a6e9bcf904eb39da2b68c5efb4f9360e08c#readContract

He estado tratando de usar Web3 y leer variables pero, sin embargo, obtengo 0 para totalSupply

Código utilizado:

función fetchTokenDetails(){
token = getTaasContractContract();

token.totalSupply(function(error,result){ TemplateVar.set(template,"miscExtra",result); });

}

función getTaasContractContract(){ abiArray =
[{"constant":true,"inputs":[],"name":"multiAsset","outputs":[{"name":"","type":"address"}],"payable": falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"nombre","salidas":[{"nombre":"","tipo": "string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"} ,{"nombre":"_valor","tipo":"uint256"}],"nombre":"aprobar","salidas":[{"nombre":"","tipo":"bool"}] ,"a pagar":falso,"tipo":"function"},{"constant":false,"inputs":[],"name":"commitUpgrade","outputs":[{"name":"","type":"bool"}]," pagadero":falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"getLatestVersion","salidas":[{"nombre":""," type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":" dirección"},{"nombre":"_para","tipo":"dirección"},{"nombre":"_valor","tipo":"uint256"},{"nombre":"_referencia"," tipo":"cadena"},{"name":"_sender","type":"address"}],"name":"_forwardTransferFromWithReference","outputs":[{"name":"","type":"bool"}], "a pagar":falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"suministrototal","salidas":[{"nombre":"", "tipo":"uint256"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre":"_desde","tipo": "dirección"},{"nombre":"_gastador","tipo":"dirección"},{"nombre":"_valor","tipo":"uint256"}],"nombre":"emitApprove","salidas":[],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre":"_de","tipo":"dirección" },{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs" :[{"nombre":"","tipo":"bool"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre ":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"} ],"nombre":"emitTransfer","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_value","type": "uint256"}],"name":"recoverTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function" },{"constante":verdadero,"entradas":[],"nombre":"decimales","salidas":[{"nombre":"","tipo":"uint8"}],"a pagar" :falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"etoken2","salidas":[{"nombre":"","tipo" :"dirección"}],"pagadero":falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"getPendingVersionTimestamp","salidas":[{"nombre":""," type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"purgeUpgrade","outputs": [{"nombre":"","tipo":"bool"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[],"nombre ":"optIn","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false ,"entradas":[{"nombre":"_desde","tipo":"dirección"},{"nombre":"_para","tipo":"dirección"},{"nombre":"_valor","tipo":"uint256" },{"nombre":"_referencia","tipo":"cadena"}],"nombre":"transferFromWithReference","salidas":[{"nombre":"","tipo":"bool"} ],"a pagar":falso,"tipo":"función"},{"constante":verdadero,"entradas":[{"nombre":"_propietario","tipo":"dirección"}],"nombre ":"saldoDe","salidas":[{"nombre":"","tipo":"uint256"}],"a pagar":falso,"tipo":"función"},{"constante":falso ,"entradas":[{"nombre":"_icap","tipo":"bytes32"},{"nombre":"_valor","tipo":"uint256"}],"nombre":"transferToICAP"," salidas":[{"nombre":"","tipo":"bool"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[{ "nombre":"_icap","tipo":"bytes32"},{"nombre":"_valor","tipo":"uint256"},{"nombre":"_referencia","tipo":"cadena "}],"name":"transferToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"}, {"constante":falso,"entradas":[{"nombre":"_gastador","tipo":"dirección"},{"nombre":"_valor","tipo":"uint256"},{"nombre" :"_sender","type":"address"}],"name":"_forwardApprove","outputs":[{"name":"","type":"bool"}],"payable": falso,"tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"símbolo","salidas":[{"nombre":"","tipo": "string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"} ,{"nombre":"_icap","tipo":"bytes32"},{"nombre":"_valor","tipo":"uint256"},{"nombre":"_referencia","tipo":"cadena"},{" name":"_sender","type":"address"}],"name":"_forwardTransferFromToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable ":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre":"_desde","tipo":"dirección"},{"nombre":"_icap ","tipo":"bytes32"},{"nombre":"_valor","tipo":"uint256"},{"nombre":"_referencia","tipo":"cadena"}],"name":"transferFromToICAPWithReference","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant": false,"entradas":[{"nombre":"_desde","tipo":"dirección"},{"nombre":"_icap","tipo":"bytes32"},{"nombre":"_valor ","type":"uint256"}],"name":"transferFromToICAP","outputs":[{"name":"","type":"bool"}],"payable":false," tipo":"función"},{"constante":verdadero,"entradas":[],"nombre":"etoken2Symbol","salidas":[{"nombre":"","tipo":"bytes32"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getPendingVersion","outputs":[{"name ":"","tipo":"dirección"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre":"_a" ,"tipo":"dirección"},{"nombre":"_valor","tipo":"uint256"}],"nombre":"transferir","salidas":[{"nombre":"", "type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type": "nombre de la dirección":"_value","type":"uint256"},{"name":"_reference","type":"string"}],"name":"transferWithReference","outputs":[{"name": "","tipo":"bool"}],"a pagar":falso,"tipo":"función"},{"constante":falso,"entradas":[{"nombre":"_etoken2"," tipo":"dirección"},{"nombre":"_símbolo","tipo":"cadena"},{"nombre":"_nombre","tipo":"cadena"}],"nombre":" init","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"entradas ":[{"name":"_newVersion","type":"address"}],"name":"proposeUpgrade","outputs":[{"name":"","type":"bool"}],"payable ":falso,"tipo":"función"},{"constante":falso,"entradas":[],"nombre":"optOut","salidas":[{"nombre":"","tipo ":"bool"}],"a pagar":falso,"tipo":"función"},{"constante":verdadero,"entradas":[{"nombre":"_desde","tipo":"dirección "},{"nombre":"_gastador","tipo":"dirección"}],"nombre":"asignación","salidas":[{"nombre":"","tipo":"uint256" }],"pagadero":falso,"tipo":"función"},{"constante":verdadero,"entradas":[{"nombre":"_remitente","tipo":"dirección"}],"nombre":"getVersionFor", "salidas":[{"nombre":"","tipo":"dirección"}],"a pagar":falso,"tipo":"función"},{"a pagar":verdadero,"tipo":" fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newVersion","type":"address"}],"name":"UpgradeProposal"," tipo":"evento"},{"anónimo":falso,"entradas":[{"indexado":verdadero,"nombre":"de","tipo":"dirección"},{"indexado":verdadero ,"nombre":"a","tipo":"dirección"},{"indexado":falso,"nombre":"valor","tipo":"uint256"}],"nombre":"Transferir","tipo": "evento"},{"anónimo":falso,"entradas":[{"indexado":verdadero,"nombre":"de","tipo":"dirección"},{"indexado":verdadero,"nombre ":"gastador","tipo":"dirección"},{"indexado":falso,"nombre":"valor","tipo":"uint256"}],"nombre":"Aprobación","tipo ":"evento"}] ;:"evento"},{"anónimo":falso,"entradas":[{"indexado":verdadero,"nombre":"de","tipo":"dirección"},{"indexado":verdadero," nombre":"gastador","tipo":"dirección"},{"indexado":falso,"nombre":"valor","tipo":"uint256"}],"nombre":"Aprobación"," tipo":"evento"}] ;:"evento"},{"anónimo":falso,"entradas":[{"indexado":verdadero,"nombre":"de","tipo":"dirección"},{"indexado":verdadero," nombre":"gastador","tipo":"dirección"},{"indexado":falso,"nombre":"valor","tipo":"uint256"}],"nombre":"Aprobación"," tipo":"evento"}] ;tipo":"evento"}] ;tipo":"evento"}] ;

var dirección = "0xe7775a6e9bcf904eb39da2b68c5efb4f9360e08c"; cadena de bloques var = web3.eth; tuiContract = blockchain.contract(abiArray).at(dirección); volver tuiContract; }

Ha sido un dolor de cabeza, necesito ayuda

Respuestas (1)

¿Qué versión de web3 estás usando?

Aquí hay un ejemplo de trabajo conweb3@^1.0.0-beta.34

const Web3 = require('web3');
contractAddress = '0xe7775a6e9bcf904eb39da2b68c5efb4f9360e08c';
provider = 'https://mainnet.infura.io';
const contractAbiJSON = '';//... The JSON abi

// Init
const web3 = new Web3(new web3.providers.HttpProvider(provider));

const contract = new web3.eth.Contract(contractAbiJSON, contractAddress);

contract.methods.totalSupply().call().then((totalSupply) => {
  console.log(totalSupply);
});