Go to german installation guide: GER
- Description
- Requirements
- Installation
- Configuration
- Execution
- Implementation in MS Excel (Office365)
- Refresh Data
- Automatization
- Donation
The Staking-Rewards-Collector creates a report (JSON file) with all staking rewards information for Aleph Zero. Information is retrieved via the API from Subscan.io. Optionally, prices can be included in the JSON file, which are queried via the API from CoinGecko.com. The goal is to integrate the JSON file into Microsoft Excel. Furthermore, a CSV file can be created to upload the reward information to Cointracking.
The Staking-Rewards-Collector is written in Pyhton. Pyhton must be installed on the end device to run:
Download Python3: https://www.python.org/downloads
Launch the installer - Important:
Activate the checkmark at Add Python3 to PATH
Disable the maximum path length after the installation by clicking Disable path length limit
Here is a guide for the installation:
https://techsviewer.com/how-to-install-python-on-mac
For the HTTP/HTTPS requests, the Pyhton package "Requests" is also required.
WIN + R
cmd.exe
pip install requests
Open Terminal
pip3 install requests
Download the current GitHub repository at:
https://github.com/Kwaeksler/Staking-Rewards-Collector-for-AZERO
> Code
> Download ZIP
Unzip the ZIP file and save it to a desired location.
git clone https://github.com/Kwaeksler/Staking-Rewards-Collector-for-AZERO.git
In the file StakingAzero.py
in the area Configuration
the program must be configured. For this the values of the variables must be adjusted (The file can be opened with any editor):
Variable | Required | Explanation |
---|---|---|
API_Key | Optional |
The API key for Subscan.io can/should be entered here. Depending on the frequency of the query, an API key is required (key can be requested under https://support.subscan.io ). |
Wallet_Address | Required |
Account/Wallet address where the rewards will be paid out to. |
Additionally, the functionality of the program can be changed:
Variable | Possible configuration | Explanation |
---|---|---|
File_Name | ... |
Specification of any string for the file name, without file extension! Default: Rewards |
Prices | 'Fast' 'Accurate' 'No' |
'Fast': "Inaccurate" daily prices are included in the file (fast)'Accurate': "More accurate" prices are included in the file - average value of prices +-2h before/after event time (slow) 'No': No prices are included (fastest) |
Only_Updates | True False |
True: Existing file will be read. Only missing rewards will be addedFalse: Complete reward history will be updated |
Debug | True False |
True: The terminal window remains open after the script is finished to view the history and any errors that occurFalse: The terminal window will be closed after the script is finished |
(The free API of CoinGecko.com allows only about 50 queries per minute. If the variable Prices
is set to Accurate
, the program will be interrupted more often, because much more information is retrieved there.)
(By using the Only_Updates
mode the prices can be adjusted manually in the JSON file if the prices should be too inaccurate. The manual changes will not be overwritten in this mode when run again.)
Optionally, an additional CSV file can be created to upload the reward information to https://cointracking.info:
Variable | Required | Explanation |
---|---|---|
CointrackingCSV | Optional |
True: Additional CSV file is created/updatedFalse: File will not be created |
CSV_File_Name | Optional |
Specification of any string for the file name, without file extension! Default: Azero_Rewards_Cointracking |
CT_Exchange | Optional |
Optional field for specifying additional information for the import |
CT_TradeGroup | Optional |
Optional field for specifying additional information for the import |
CT_Comment | Optional |
Optional field for specifying additional information for the import |
(The created CSV file can be uploaded at https://cointracking.info/import/import_csv/)
If the PATH variable is set correctly, the program can be executed by double-clicking on the file StakingAzero.py
Alternatively via command line: py StakingAzero.py
Right click on the file StakingAzero.py
> Open with ...
> Python Launcher 3
Alternatively via command line: python3 StakingAzero.py
It is recommended to insert a new spreadsheet for implementation and implement the JSON file there:
Data
> Get Data
> From File
> From JSON
> Select *.JSON-File
> Import
Transform the Rewards to Table
:
- Select or enter delimiter:
None
- How to handle extra columns:
Show as errors
- Via the symbol next to "Column1" the original column names can be shown (left picture)
- Here you have to uncheck 'Use original column name as prefix' (middle image)
- Columns that are not needed can be hidden (middle image)
- By right-clicking on a column header, individual columns can be moved in the order (right image)
The dialog can be closed by clicking the Close & Load
button. Afterwards a dynmaic table should appear on the spreadsheet, which can be formatted.
Running the StakingAzero.py
file will update the .JSON file.
Then, in Microsoft Excel, the previously inserted table can be updated via Data
> Update all
.
The query to Subscan.io as well as the update of the data in MS Excel can be fully automated. In the query properties in MS Excel, the checkbox Update when file is opened
can be set for this purpose:
The automatic execution of the script can be implemented under Windows via the task scheduling: e.g. with a trigger on the user logon.
Go to english installation guide: ENG
- Beschreibung
- Voraussetzungen
- Installation
- Konfiguration
- Ausführung
- Implementierung in MS Excel (Office365)
- Daten aktualisieren
- Automatisierung
- Donation
Der Staking-Rewards-Collector erstellt ein Report (JSON-Datei) mit allen Staking-Reward-Informationen für Aleph Zero. Informationen werden über die API von Subscan.io abgefragt. Optional können Preise mit in die JSON-Datei aufgenommen werden, welche über die API von CoinGecko.com abgefragt werden. Ziel ist die Einbindung der JSON-Datei in Microsoft Excel, um dort einen Steuerbericht zu erstellen. Des Weiteren kann eine CSV-Datei erstellt werden, um die Reward-Informationen auf Cointracking hochzuladen.
Der Staking-Rewards-Collector ist in Pyhton programmiert, Python muss zur Ausführung auf dem Endgerät installiert sein.
Download Python3: https://www.python.org/downloads
Starte den Installer - Wichtig:
Aktiviere den Haken bei Add Python3 to PATH
Deaktivere nach der Installation die maximale Pfadlänge durch klicken auf Disable path length limit
Hier eine Anleitung für die Installation:
https://techsviewer.com/how-to-install-python-on-mac
Für die HTTP/HTTPS-Abfragen wird zusätzlich das Pyhton-Paket "Requests" benötigt.
WIN + R
cmd.exe
pip install requests
Open Terminal
pip3 install requests
Download des aktuellen GitHub Repositories unter:
https://github.com/Kwaeksler/Staking-Rewards-Collector-for-AZERO
> Code
> Download ZIP
Die ZIP-Datei entpacken und an einen gewünschten Ort abspeichern.
git clone https://github.com/Kwaeksler/Staking-Rewards-Collector-for-AZERO.git
In der Datei StakingAzero.py
im Bereich Configuration
muss das Programm konfiguriert werden, dazu müssen die Werte der Variablen angepasst werden (Die Datei kann mit jedem beliebigen Editor geöffnet werden):
Variable | Notwendigkeit | Erläuterung |
---|---|---|
API_Key | Optional |
Hier kann/sollte der API-Key für Subscan.io eingetragen werden. Je nach Häufigkeit der Abfrage wird ein API-Key benötigt (Key kann unter https://support.subscan.io beantragt werden). |
Wallet_Address | Erforderlich |
Account/Wallet-Adresse, auf der die Rewards ausgezahlt werden |
Zusätzlich kann die Funktionalität des Programmes verändert werden:
Variable | Mögliche Konfiguration | Erläuterung |
---|---|---|
File_Name | ... |
Angabe einer beliebigen Zeichenkette für den Dateinamen, ohne Dateiendung! Default: Rewards |
Prices | 'Fast' 'Accurate' 'No' |
'Fast': "Ungenauere" Tagespreise werden in die Datei mit aufgenommen (schnell)'Accurate': "Genauere" Preise werden in die Datei mit aufgenommen - Durchschnittswert der Preise +-2h vor/nach Event-Zeitpunkt (langsam) 'No': Keine Preise werden mit aufgenommen (am schnellsten) |
Only_Updates | True False |
True: Bestehende Datei wird ausgelesen, nur fehlende Rewards werden hinzugefügtFalse: Kompletter Reward-Verlauf wird neu aktualisiert |
Debug | True False |
True: Das Terminal-Fenster bleibt nach Beendigung des Skriptes geöffnet, um den Verlauf und auftretende Fehler einzusehenFalse: Das Terminal-Fenster wird nach Beendigung des Skriptes geschlossen |
(Die freie API von CoinGecko.com erlaubt nur ca. 50 Abfragen pro Minute. Wird die Variable Prices
auf Accurate
gesetzt, wird das Programm öfter untebrochen, da dort wesentlich mehr Informationen abgerufen werden.)
(Durch den Only_Updates
-Modus können die Preise manuell in der JSON-Datei angepasst werden, falls die Preise zu ungenau sein sollten. Die manuellen Änderungen werden in diesem Modus bei erneuter Ausführung nicht überschrieben.)
Optional kann eine zusätzliche CSV-Datei erstellt werden, um die Reward-Informationen auf https://cointracking.info hochzuladen:
Variable | Notwendigkeit | Erläuterung |
---|---|---|
CointrackingCSV | Optional |
True: Zusätzliche CSV-Datei wird erstellt bzw. aktualisiertFalse: Datei wird nicht erstellt |
CSV_File_Name | Optional |
Angabe einer beliebigen Zeichenkette für den Dateinamen, ohne Dateiendung! Default: Azero_Rewards_Cointracking |
CT_Exchange | Optional |
Bliebige Angabe einer Zeichenkette für die Verwendung weiterer Informationen beim Import |
CT_TradeGroup | Optional |
Bliebige Angabe einer Zeichenkette für die Verwendung weiterer Informationen beim Import |
CT_Comment | Optional |
Bliebige Angabe einer Zeichenkette für die Verwendung weiterer Informationen beim Import |
(Die erstellte CSV-Datei kann unter https://cointracking.info/import/import_csv/ hochgeladen werden)
Wenn die PATH-Variable korrekt gesetzt wurde, kann das Programm durch einen Doppelklick auf die Datei StakingAzero.py
ausgeführt werden.
Alternativ über die Kommandozeile: py StakingAzero.py
Rechtsklick auf die Datei StakingAzero.py
> Öffnet mit ...
> Python Launcher 3
Alternativ über die Kommandozeile: python3 StakingAzero.py
Es ist empfehlenswert ein neues Tabellenblatt für die Implementierung einzufügen und dort die JSON-Datei zu implementieren:
Daten
> Daten abrufen
> Aus Datei
> Von JSON
> *.JSON-Datei auswählen
> Importieren
Im geöffneten Listentool die Rewards Zu Tabelle
konvertieren:
- Trennzeichen eingeben oder auswählen:
Keine
- Behandlung zusätzlicher Spalten:
Als Fehler anzeigen
- Über das Symbol neben "Column1" lassen sich die originalen Spaltennamen einblenden (linkes Bild)
- Hier muss der Haken bei
Ursprünglichen Spaltennamen als Präfix verwenden
entfernt werden (mittleres Bild) - Nicht benötigte Spalten können ausgeblendet werden (mittleres Bild)
- Durch einen Rechtsklick auf eine Spaltenüberschrift lassen sich einzelne Spalten in der Reihenfolge verschieben (rechtes Bild)
Der Dialog kann durch Klick auf die Schaltfläche Schließen & laden
beendet werden. Anschließend sollte eine dynmaische Tabelle auf dem Tabellenblatt erscheinen, welche formatiert werden kann.
Durch das Ausführen der StakingAzero.py
-Datei wird die .JSON-Datei aktualisiert.
Anschließend kann in Microsoft Excel die vorher eingefügte Tabelle über Daten
> Alle Aktualisieren
aktualisiert werden.
Die Abfrage an Subscan.io sowie die Aktualisierung der Daten in MS Excel lässt sich vollständig automatisieren. In den Abfrage-Eigenschaften in MS Excel kann beispielsweise der Haken bei Aktualisieren beim Öffnen der Datei
gesetzt werden:
Die automatische Ausführung des Proramms kann unter Windows beispielsweise über die Aufgabenplanung umgesetzt werden: z.B. mit einem Trigger auf die Benutzeranmeldung.
Buy me a coffee ❤️ AZERO: 5CdDLaALf21truuLH4ygnBgCBEQJTychaPKfGrqCVPjB3iVA