Estoy usando el método "Obtener una lista de transacciones 'normales' por dirección" de la API de Etherscan.io. El problema es que los resultados de la API son diferentes a los resultados de la 'Descargar exportación CSV' que obtienes en esta página.
https://etherscan.io/address/0xCeB4d0CA821420Cf2553b9e244F6B52364613F94
Enlace a la API: https://etherscan.io/apis#accounts
Para esta dirección:
0xCeB4d0CA821420Cf2553b9e244F6B52364613F94
La solicitud de obtención de la API:
El problema es que el 'valor' no coincide con el 'Valor_IN(ETH)' al descargar los datos como un archivo .csv.
En el archivo .csv, los resultados se ven así:
Txhash: 0x1f55419fa826e9d9b5487ce745f22c0d6066cf8da8e02bb84a105f6fcf34f8e2
Valor_IN(ETH): 0.0500459770509325
El archivo .csv es correcto. Eso es lo que pasó con esa billetera allí.
Sin embargo, en el objeto .json devuelto por la llamada a la API, obtengo estos resultados:
hash: '0x1f55419fa826e9d9b5487ce745f22c0d6066cf8da8e02bb84a105f6fcf34f8e2'
valor: '50045977050932511'
No entiendo por qué estos valores son diferentes. ¿Hay algo en la codificación que me falta?
El 'valor' se devuelve en Wei, la unidad base de Ethereum.
Hay 10^18 Wei en un éter. Entonces, para convertir de wei a ether, simplemente divídalo por 10 ^ 18.
def convert_wei_to_ether(amount_wei):
amount_ether = float(amount_wei) / math.pow(10, 18)
return amount_ether