So exportieren Sie Transaktionen in eine CSV-Datei

Gibt es eine einfache Möglichkeit, alle Transaktionen im Zusammenhang mit einem bestimmten Konto/Smart Contract in ein CSV- oder ein anderes Nur-Text-Format zu exportieren?

Mögliches Duplikat von Ether Historical Prices
Zwei völlig unterschiedliche Fragen in meinen Augen.
Auch andere Fragen in meinen Augen.
Einverstanden - bitte ignorieren.

Antworten (7)

Oder Sie können einfach die Etherscan-API und den Json-to-CSV-Onlinedienst verwenden.

Verwenden Sie die API, dh: https://api.etherscan.io/api?module=account&action=txlist&address=0xde0b295669a9fd93d5f28d9ec85e40f4cb697bae&sort=asc und geben Sie sie in das URL-Feld von http://www.convertcsv.com/json-to-csv ein. htm

Et voilà.

Praktische Lösung, danke fürs Posten! Weißt du jetzt aber, was das timestamp"-Format im JSON ist? Excel verschluckt es einfach sowohl als Datum, Uhrzeit als auch als Datetime.
@JonathanvanClute, es scheint ein Unix-Zeitstempel zu sein. Versuchen Sie mit timestamp.fr zu überprüfen, ob dies das richtige Format ist
Yep war Unix, danke!. Verwenden Sie die Formel hier, um das Datum zu konvertieren: extendoffice.com/documents/excel/…
Dies funktioniert nicht für Smart Contracts nur für Rechnung (es gibt Ihnen die Liste, wo die Adresse diejenige ist, die an die Kette übermittelt wird, nicht Vertragsinteraktionen.)

Hier ist eine Anleitung zum Exportieren von Ethereum-Daten in CSV https://medium.com/@medvedev1088/exporting-and-analyzing-ethereum-blockchain-f5353414a94e

Es verwendet https://github.com/medvedev1088/ethereum-etl , das die Daten in blocks.csv, transactions.csv, ausgibt 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      |

Kürzlich hat PeterChauYEG eine Node-App / einen Scraper für die DAO-Adresse zusammengestellt, die die API von Etehrescan verwendet und eine CSV-Datei ausgibt.

Das Gleiche gilt für jede angegebene Adresse, wenn Sie Zeile 8 @ main.js: const address = '0xbb9bc244d798123fde783fcc1c72d3bb8c189413';in die Adresse geändert haben, von der Sie eine CSV-Datei generieren möchten.


Wenn Sie es nützlich finden, können Sie den Entwickler mit einer Spende unterstützen:0x1A416af553Faca53b4be48DCFB6E749C9737455D

Ich habe eine weitere gute Ressource für die Überwachung der DAO-Erstellung gefunden: daostats.github.io/tokenvol.html

QuickBlocks macht genau das. Es nimmt sogar eingehende interne Transaktionen auf. Außerdem exportiert es auf Knopfdruck in JSON, CSV, TEXT oder jedes andere Format. Und das alles zu 100 % dezentral.

Heißt QuickBlocks jetzt TrueBlocks?
Ja. Wir haben uns vor ungefähr einem Jahr geändert, genau zu der Zeit, als wir unser EF-Stipendium bekamen.

Es gibt keine integrierte Möglichkeit, dies zu tun. Wie schwierig dies ist, hängt davon ab, was Sie mit "mit einem bestimmten Konto verknüpft" meinen.

Transaktionen, die von einem externen Konto initiiert wurden, sind leicht nachzuschlagen, da „von“ eines der Felder der Transaktion ist – obwohl es keinen API-Aufruf gibt, der nur Transaktionen zurückgibt, die von einem bestimmten Konto initiiert wurden, können Sie zumindest Transaktionen scannen, die nach Ihnen interessieren um.

Transaktionen von einem externen Konto zu einem anderen oder zu einem Vertrag sind ebenfalls leicht zu erkennen, da es auch ein „An“-Feld gibt.

Kompliziert wird es jedoch bei vertraglich initiierten Wertübertragungen. Diese werden oft als "interne Transaktionen" bezeichnet, obwohl sie eigentlich gar keine Transaktionen sind. Es gibt keine direkten Aufzeichnungen darüber in Ethereum, außer durch ihre Nebenwirkungen (übertragener Wert und vorgenommene Zustandsänderungen), daher gibt es keine einfache Möglichkeit, sie zu exportieren. Blockchain-Explorer, die diese Funktionalität bereitstellen, arbeiten, indem sie die Transaktionsausführung in der EVM verfolgen und Details darüber aufzeichnen, was passiert ist.

Lassen Sie mich jedoch mein eigenes Projekt, Etherquery , einbinden . Es ist ein Dump von Ethereum-Blockchain-Daten – Blöcke, Transaktionen und Übertragungen – an BigQuery, das beliebige analytische Abfragen zulässt und den Export in eine Reihe von Formaten, einschließlich CSV, unterstützt. BigQuery wird vom Benutzer bezahlt, aber das erste Terabyte der Verarbeitung pro Monat ist kostenlos. Wenn Sie kein Google Cloud-Projekt haben, müssen Sie ein leeres erstellen, um auf die oben verlinkten öffentlichen Tabellen zugreifen zu können.

Wenn Sie den Vertrag schreiben, nehmen Sie Ereignisse in Ihren Vertrag auf, um zu verfolgen, was passiert, und dann können Sie diese Ereignisse einfach in einer CSV-Datei protokollieren. Dies schließt auch interne Transaktionen ein, wodurch ein oben erwähntes Problem behoben wird.

In Solidity melden Sie sich mit Events an . Sie können dann alle Ereignisse in Ihrem Vertrag mit web3.js „allEvents“ Callback abhören .

Beim Javascript-Ereignis allEvents-Callback ist es extrem einfach, sich in JSON anzumelden (es ist bereits ein Objekt), und die Protokollierung in CSV in Javascript bedeutet nur, eine geeignete CSV-Bibliothek auszuwählen.

Etherscan bietet diese Funktion jetzt integriert!

Gehen Sie zu etherscan und listen Sie alle Transaktionen für Ihr Konto auf. Klicken Sie dann unten auf die Schaltfläche "CSV-Export herunterladen".

Geben Sie hier die Bildbeschreibung ein

In der resultierenden .CSV-Datei gibt es zwei Spalten, eine für die Txn-Gebühr in ETH und eine für die Txn-Gebühr in USD

Geben Sie hier die Bildbeschreibung ein