SPS Delegation direkt über Splinterlands durchführen - Code Snippet für die Browser Console

in #splinterlands2 months ago

English Version: https://peakd.com/hive-13323/@louis88/execute-sps-delegation-directly-via-splinterlands-code-snippet-for-the-browser-console

Das Feature, zum delegieren von SPS Rewards an andere Accounts ist mittlerweile gefühlt 2 Monate schon in der API von Splinterlands integriert. Keine Ahnung warum das Entwickler-Team bislang noch kein Frontend Feature dazu geschrieben hat, so dass sich andere Entwickler behelfen müssen und die Features in ihre eigenen Seiten einbinden müssen. Gefühlt kann das aber keine großartige Arbeit sein für die Splinterlands Entwickler, das Feature vollends selbst einzubauen. Per API und SL ist es ja bereits mit Umwegen möglich. Dank der Browser-Console für Entwickler ist es Möglich, die Transaction für eine SPS-Delegation durchzuführen. Wie ihr das über die Webseite Splinterlands.com durchführen könnt, lest ihr hier nun.


1. Splinterlands öffnen und Browser-Console öffnen

Als erstes öffnen wir Splinterlands.com, also das Spiel. Im Hintergrund werden bei jedem Laden der Seite sämtliche Informationen bereits geladen, die wir benötigen. Wir loggen uns in Splinterlands in den Account ein, der die Delegationen abgeben soll. Sind wir eingeloggt und z.B. auf der Battle Seite, öffnen wir die Entwickler-Console. Wahlweise über Strg + Shift + J oder mit dem drücken der F12 Taste und wechseln dann in die Console.

Das ganze sieht dann ungefähr so aus:

image.png

2. Die SM.Broadcast Transaktion durchführen

Als nächsten Schritt müssen wir einen Befehl in die Console eingeben, den wir im Nachgang dann mit Hive-Keychain bestätigen.
Wichtig: Passe die nachstehenden Vorlagen auf deine Bebürfnisse an.

SM.BroadcastCustomJson('sm_delegate_rewards','Delegate Rewards', {"username":"SPLINTERLANDSACCOUNT","percent":"100","type":"modern"})

image.png

Erklärung / Anpassungen
SPLINTERLANDSACCOUNT = Der Account, der die SPS Rewards erhalten soll, wenn du die Rewards claimst.
percent = Anzahl der %, die an den Account gehen sollen. 0 - 100 (2 Kommastellen sind möglich. z.B. 25.87% "percent":"25.87"
type = Welche Art von Rewards sollen delegiert werden? Zur Auswahl stehen aktuell 8 verschiedene Werte: modern, wild, focus, season, nightmare, license, land, brawl

Falls du mit einem Befehl, einfach sämtliche Rewards, die dein Account erhält, an ein anderes Konto übertragen möchtest, kannst du einfach den type weglassen und somit den folgenden Befehl eintragen:
SM.BroadcastCustomJson('sm_delegate_rewards','Delegate Rewards', {"username":"SPLINTERLANDSACCOUNT","percent":"100"})

2.1 Mit Keychain bestätigen und absenden

Nachdem unsere Code-Snippet nun fertig ist, drücken wir einmal Enter und lassen die Splinterlands Seite uns die Broadcast Transaction durchführen. Direkt sollte Hive-Keychain als Popup hochkommen wo wir die Daten nochmal genauer ansehen können:

image.png

3. Transaktionen gegenprüfen

Nun können wir einmal den aktuellen Stand aktueller Delegationen ansehen - Das machen wir ganz einfach direkt über einen API Call bei Splinterlands. Alle nötigen Informationen kannst du in dem folgenden AP Call abrufen:
https://api.splinterlands.com/players/reward_delegations?username=YOUR_SL_USERNAME

4. Delegationen wieder auf 0 setzen

Dies funktioniert, in dem wir einfach den Wert des Prozentsatz oben bei Schritt 2 geschrieben einfach auf 0 setzen. Du kannst hier wahlweise alles direkt auf 0 setzen, in dem du den type weglässt oder einen bestimmten type einzelnd absendest. Mit dem erneuten absenden einer valider Transaktion wird einfach der vorherige Wert überschrieben, also einfach ein Update durchgeführt. Heißt auch, es ist möglich eine bestehende Delegation anzupassen von z.B. 10 auf 20%, falls der Scholar besser performt und mehr verdienen soll.


Eigentlich ein netter Workaround um zumindest ohne Frontend-Funktion bei Splinterlands aber dennoch bei Splinterlands die Delegationen durchzuführen.

Solltest du Fragen dazu haben, kannst du gerne in den Kommentaren deine Fragen stellen.

Sort:  

Thank you for this tips (workaround) and the very clear explanations

Merci pour cette astuces (workaround) et les explications très claire

Vielen Dank für diese Tipps (Workaround) und die sehr anschaulichen Erklärungen
!lady

Hallo bin relativ neu in der Community freue mich sehr über deine Tipps und erklärungen! LG

!MEME


Credit: persephone87
Earn Crypto for your Memes @ hiveme.me!