Cómo exportar transacciones a un archivo CSV

¿Existe una forma sencilla de exportar todas las transacciones relacionadas con una cuenta/contrato inteligente específico a un CSV o algún otro formato de texto sin formato?

Posible duplicado de los precios históricos de Ether
Dos preguntas totalmente diferentes en mis ojos.
Diferentes preguntas en mis ojos también.
De acuerdo - por favor ignorar.

Respuestas (7)

O simplemente puede usar la API de etherscan y el servicio en línea Json to CSV.

Use API, es decir: https://api.etherscan.io/api?module=account&action=txlist&address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae&sort=asc y colóquelo en el campo URL de http://www.convertcsv.com/json-to-csv. htm

Et voila.

Solución práctica, ¡gracias por publicarla! Ahora, sin embargo, ¿sabe cuál es el formato de marca de tiempo" en el JSON? Excel simplemente se atraganta con él como fecha, hora y también como fecha y hora.
@JonathanvanClute parece ser la marca de tiempo de Unix. Intente verificar si este es el formato correcto usando timestamp.fr
Sí, era Unix, ¡gracias!. Usé la fórmula aquí para convertir a la fecha: extendoffice.com/documents/excel/…
Esto no funciona para los contratos inteligentes solo para la cuenta (le brinda la lista de dónde está la dirección que se envía a la cadena, no las interacciones del contrato).

Aquí hay una guía sobre cómo exportar datos de Ethereum a csv https://medium.com/@medvedev1088/exporting-and-analyzing-ethereum-blockchain-f5353414a94e

Utiliza https://github.com/medvedev1088/ethereum-etl que genera los datos en blocks.csv, transactions.csv, erc20_transfers.csv.

blocks.csv

Column                  | Type               |
------------------------|---------------------
block_number            | bigint             |
block_hash              | hex_string         |
block_parent_hash       | hex_string         |
block_nonce             | hex_string         |
block_sha3_uncles       | hex_string         |
block_logs_bloom        | hex_string         |
block_transactions_root | hex_string         |
block_state_root        | hex_string         |
block_miner             | hex_string         |
block_difficulty        | bigint             |
block_total_difficulty  | bigint             |
block_size              | bigint             |
block_extra_data        | hex_string         |
block_gas_limit         | bigint             |
block_gas_used          | bigint             |
block_timestamp         | bigint             |
block_transaction_count | bigint             |

transactions.csv

Column              |    Type     |
--------------------|--------------
tx_hash             | hex_string  |
tx_nonce            | bigint      |
tx_block_hash       | hex_string  |
tx_block_number     | bigint      |
tx_index            | bigint      |
tx_from             | hex_string  |
tx_to               | hex_string  |
tx_value            | bigint      |
tx_gas              | bigint      |
tx_gas_price        | bigint      |
tx_input            | hex_string  |

erc20_transfers.csv

Column              |    Type     |
--------------------|--------------
erc20_token         | hex_string  |
erc20_from          | hex_string  |
erc20_to            | hex_string  |
erc20_value         | bigint      |
erc20_tx_hash       | hex_string  |
erc20_block_number  | bigint      |

Recientemente, PeterChauYEG creó una aplicación de nodo/scraper para la dirección DAO que usa la API de Etehrescan y genera un CSV.

Hará lo mismo para cualquier dirección proporcionada si cambió la línea 8 @ main.js: const address = '0xbb9bc244d798123fde783fcc1c72d3bb8c189413';a la dirección desde la que le gustaría generar un CSV.


Si lo encuentra útil, considere apoyar al desarrollador con una donación:0x1A416af553Faca53b4be48DCFB6E749C9737455D

He encontrado otro buen recurso para el monitoreo de la creación de DAO: daostats.github.io/tokenvol.html

QuickBlocks hace exactamente esto. Incluso recoge las transacciones internas entrantes. Además, exporta a JSON, CSV, TEXT o cualquier otro formato con solo pulsar un botón. Todo mientras permanece 100% descentralizado.

¿QuickBlocks ahora se llama TrueBlocks?
Sí. Cambiamos hace aproximadamente un año, justo cuando recibimos nuestra subvención EF.

No hay una forma integrada de hacer esto. Lo difícil que sea hacerlo depende de lo que entiendas por "relacionado con una cuenta específica".

Las transacciones iniciadas por una cuenta externa son fáciles de buscar, ya que 'desde' es uno de los campos de la transacción; aunque no hay una llamada a la API que devuelva solo las transacciones iniciadas por una cuenta determinada, al menos puede escanear las transacciones en busca de las que le interesan. sobre.

Las transacciones de una cuenta externa a otra, oa un contrato, también son fáciles de detectar, ya que también hay un campo "para".

Sin embargo, donde se complica es en las transferencias de valor iniciadas por un contrato. A menudo se denominan "transacciones internas", aunque en realidad no son transacciones en absoluto. No hay un registro directo de estos en Ethereum, excepto por sus efectos secundarios (valor transferido y cambios de estado realizados), por lo que no hay una manera fácil de exportarlos. Los exploradores de blockchain que brindan esta funcionalidad funcionan al rastrear la ejecución de transacciones en el EVM, registrando detalles sobre lo que sucedió.

Sin embargo, permítanme conectar mi propio proyecto, Etherquery . Es un volcado de datos de la cadena de bloques de Ethereum (bloques, transacciones y transferencias) a BigQuery, lo que permite consultas analíticas arbitrarias y admite la exportación a varios formatos, incluido CSV. BigQuery es pago por usuario, pero el primer terabyte de procesamiento de cada mes es gratuito. Si no tiene un proyecto de Google Cloud, deberá crear uno vacío para acceder a las tablas públicas vinculadas anteriormente.

Si está escribiendo el contrato, incluye eventos en su contrato para realizar un seguimiento de lo que está sucediendo, y luego puede registrar esos eventos fácilmente en un archivo CSV. Esto incluirá también las transacciones internas, lo que aborda un problema mencionado anteriormente.

En Solidity, inicia sesión con Eventos . A continuación, puede escuchar todos los eventos de su contrato con la devolución de llamada "allEvents" de web3.js.

En la devolución de llamada del evento de Javascript allEvents, es extremadamente fácil iniciar sesión en JSON (ya es un objeto), e iniciar sesión en CSV en Javascript significa simplemente elegir una biblioteca CSV adecuada.

¡Etherscan ahora proporciona esta capacidad integrada!

Vaya a etherscan y enumere todas las transacciones de su cuenta. Luego, en la parte inferior, presione el botón "Descargar exportación CSV".

ingrese la descripción de la imagen aquí

En el archivo .CSV resultante, hay dos columnas, una para la tarifa de Txn en ETH y otra para la tarifa de Txn en USD

ingrese la descripción de la imagen aquí