SplinterSheet

in #deutsch3 years ago (edited)

oder: Google Sheet's + Splinterlands API = SplinterSheet

SplinterSheet - auch Projektname Splinterview, Änderung wg. Tagging

Dieser Post unterstützt den Power Up Day - mach mit!

1. Vorwort

Irgendwie hat es mit zu Splinterlands verschlagen, vielleicht lag das an dem Magic (The Gathering) Style der mir sehr gut gefällt oder ist dem geschuldet, dass ich bei EVE Online nicht mehr wirklich biss habe. Nach anfänglichen Lernen und Verstehen wie sich die Strategien im Spiel am besten umsetzen lassen habe ich etwas vermisst. Statistik. Ich liebe es auf Zahlen und Diagrammen zu sehen um meinem Progress zu frönen.

2. Diagramme

Also machte ich mich auf die Suche, fand aber bei meiner Recherche nichts was mir zusagt. Auch in meiner neuen Gilde (Gildenverbund Legendary Dragons) konnte mir keiner so richtig weiterhelfen. Oder ich habe einfach nicht den richtigen gefragt...

3. Google Sheets

Für EVE hatte ich über mehrere Jahre ein umfangreiches Google Sheet verfasst, was keine Wünsche offen ließ. Also muss das nun auch für Splinterlands her. So war das Projekt SplinterView geboren. Die Codebase für API Abfragen fix Kopiert und dann auf die Suche nach der verlorenen Dokumentation der API.

4. API

Entwickler, wenn Ihr das hier lest, bitte, verfasst eine Dokumentation die einfach zu finden ist und alle Möglichkeiten zur Abfrage beinhaltet. Ich kam quasi aus dem Schlaraffenland der Doku (von EvE). Ich fand für Splinerlands leider nichts offizielles. Andere Programmierer haben sich auf GitHub verschiedenen Code und etwas Doku hinterlegt, dass muss aber auch erst gefunden werden und ist bei weitem mit Sicherheit nicht Allumfänglich.
Sollte es eine Doku geben, bitte schreibt mir einen Kommentar, dann werde ich den Absatz oben Streichen und behaupte ab diesem Zeitpunkt das Gegenteil.

5. SplinterSheet

Ich möchte hier nur oberflächlich auf das Sheet in der Aktuellen Fassung (v008) eingehen. Derzeit ist es WORK IN PROGRESS und es fehlt noch viel Feinschliff. Geschrieben ist das Projekt in JavaScript bzw. Google APPs. Die Lizenzierung setze ich bewusst auf GPLv3.

Was das Sheet braucht

  • Das Sheet verlangt über Google Zugriff auf sich selbst und auf andere Medien, ansonst wäre eine automatisierte Eintragung der Daten nicht möglich. Momentan stuft Google das Projekt als unsicher ein, da ich noch nicht die notwendigen Dinge (Website, Copyright etc) habe um das zu beantragen.

TIP: Wenn ihr Sicherheitsbedenken habt, erstellt euch einfach einen neuen GoogleAccount nur für das Sheet, macht ein Code Review

  • Ausführen in Abwesenheit (Trigger)

  • Das Sheet braucht einen Hive AccountName ohne @

Was das Sheet kann

(Eine Beispieldatei liegt im Order)

  • Soweit vorhanden, werden zu jedem Datensatz die gesamte Transaktion als Details gespeichert

  • Tabelle Liga-Battles: Schreibt automatisch alle Battles chronologisch in eine Liste
    Liga-Battles.jpg

  • Tabelle ChestRewards: Alle Kisten, die über Quests aufgemacht worden sind
    ChestRewards.jpg
  • Tabelle Rental (in): IN ist für Einnahmen
    Rental (in).jpg
  • Tabelle Rental (out): Out ist für Ausgaben
    Rental (out).jpg
  • Tabelle PackOpenings: Alles was an Packs geöffnet wurde
    PackOpenings.jpg

Kommen wir zu den Diagrammen und der Statistik:

  • Tabelle DiagrammData: Fasst alle Daten grob zusammen, hier als Vorschlag. Wenn ihr andere Braucht -> einfach ändern ;)
    DiagrammData.jpg

  • Tabelle Overwatch: DiagrammData als Diagramm
    (Anzahl der Tag einstellbar, hier wird auch der Account eingetragen)
    Overwatch.jpg

Steuerung

Ich möchte hier etwas auf das Sheeteigene Menü eingehen.

menue.jpg

Full Update:
Macht alle Einzelupdates hintereinander

Update <Sheet>:
Aktualisiert genau das genannte <Sheet>

Admin: (Verwaltung)
Rental (in) VERIFY
Versucht die Daten in Rental (in) zu vervollständigen. Klappt nur wenn die API auch die notwendigen Informationen noch vorhält.

Create Trigger
Um das Sheet automatisch zu Befüllen sind Trigger notwendig. Diese werden hier generiert.

WipeData
Damit wird das Sheet geleert. Betrifft nur die Tabellen die per Update befüllt werden

WipeData, set current Block
Wie WipeData, es wird jedoch als Startblock der aktuelle der Chain genommen. Dies kann helfen wenn das erste Update zu groß ist oder ihr ab einem gewissen Block starten wollt.

6. Schlusswort

Das soll es auch erstmal gewesen sein. Für die, die das Sheet TESTEN wollen ist der Link oben hinterlegt. Ich betone hier nochmals Testen. Beachtet bitte ebenso die Readme und die Datei Versionen im Ordner. Dort schreibe ich auch immer Änderungen oder Einschränkungen.
Feedback oder Wünsche gerne an mich oder hinterlasst einen Kommentar.

PS: ToDo: Translate to english.

Sort:  

Beeindruckend :)

Ich finde dieses Sheet so mächtig! Du hast dir sehr viel Mühe damit gegeben und es hat sich gelohnt!

Ich denke, dass viele Spieler sich so detaillierte Übersichten gewünscht haben.

Vielen Dank für deine Arbeit und vor allem vielen Dank, dass du sie mit uns teilst!

Congratulations @sardaukai! You received a personal badge!

You powered-up at least 10 HIVE on Hive Power Up Day!
Wait until the end of Power Up Day to find out the size of your Power-Bee.
May the Hive Power be with you!

You can view your badges on your board and compare yourself to others in the Ranking

Check out the last post from @hivebuzz:

Hive Power Up Day - April 1st 2022
Support the HiveBuzz project. Vote for our proposal!

wow, sehr coole Sache! Ich werde es mit Sicherheit ausprobieren.

🍻 kann ich leider nicht verteilen, aber !PIZZA sollte passen.

PIZZA! PIZZA!

PIZZA Holders sent $PIZZA tips in this post's comments:
mario89 tipped sardaukai (x1)
(1/5) @vasupi tipped @sardaukai (x1)

Please vote for pizza.witness!

Bester Typ! Vielen Dank für die tolle Arbeit.

!PGM !PIZZA

Sent 0.1 PGM tokens to @vasupi, @sardaukai

remaining commands 8

Buy and stake 10 PGM token to send 0.1 PGM per day,
100 PGM token to send 0.1 PGM three times per day
500 to send and receive 0.1 PGM five times per day
1000 to send and receive 0.1 PGM ten times per day

image.png
Discord image.png

Support the curation account @ pgm-curator with a delegation 10 HP - 50 HP - 100 HP - 500 HP - 1000 HP

Get votes from @ pgm-curator by paying in PGM, here is a guide

Create a HIVE account with PGM from our discord server, here is a guide

I'm a bot, if you want a hand ask @ zottone444

Congratulations @sardaukai! You received a personal badge!

You powered-up at least 10 HIVE on Hive Power Up Day! This entitles you to a level 1 badge.
Participate in the next Power Up Day and try to power-up more HIVE to get a bigger Power-Bee.
May the Hive Power be with you!

You can view your badges on your board and compare yourself to others in the Ranking

Check out the last post from @hivebuzz:

The fourth edition of Hive Power Up Month started today. Don't miss it!
Hive Power Up Day - April 1st 2022
Support the HiveBuzz project. Vote for our proposal!

Congratulations and welcome to Hive!Hello @sardaukai! This is @indayclara from @ocd (Original Content Decentralized) team. We saw that you already posted your first blog here in Hive!

Anyways, the best way to start your journey here in Hive is do an awesome introduction post telling us more about your passion and interests. You can choose on whatever information you would like to share and how you got to know about Hive. This will help others be comfortable supporting your works here.

Make sure to share your future blogs in the appropriate Communities or you can check out the Communities Incubation Program.If you are looking for tips and information as a Hive newbie, click here.

Also, letting you know since content on the Hive platform is monetized, using other people’s ideas or images could be considered as an offense and which is also viewed in a serious light on the blockchain. Here is a useful collection of resources about how plagiarism and abuse is viewed and handled on Hive.

If you have questions, you can hop into Discord server and we'll gladly answer your questions. Feel free to tag @lovesniper @indayclara once you have made your awesome introduction post! See you around.