Puh, die Hive API hat so ihre Probleme, leider auch viele von Steemit übernommen.
Die Dokumentation ist auch nur halb vollständig, die Beispiele sind nicht Praxis nahe.
Ich musste jetzt in meinem Browser nachsehen, welche Parameter übergeben werden müssen.
Um Hive in meine Engine zu intrigieren, muss ich verdammt viel verändern.
Hive macht so viele unnötige anfragen, weil das System eher für so eine Webseite gedacht ist.
Die API von S
Wahrscheinlich wird es so funktionieren, wenn ich es Update:
bridge.get_discussion Post abfragen:
{"id":1,"jsonrpc":"2.0","method":"bridge.get_discussion","params":{"author":"janisplayer","permlink":"steem-in-die-webseite-inigieren","observer":"janisplayer"}}
Aber ich brauche eine Liste aller Posts, die geschieben worden mit dem Account.
Nein dafür gibt es keinen API-Befehl, großartig, bedeutet ich habe nur eine Funktion, die mir eine Liste aller zuletzt geschriebenen Posts ausgibt.
Das beste diese Liste liefert mir haufenweise Informationen, die ich nicht benötige und die den Befehl oben überflüssig macht, weil im Befehl bridge.get_account_posts ist jeder Post enthalten.
curl -s --data '{"jsonrpc":"2.0", "method":"bridge.get_account_posts", "params":{"sort":"blog", "account": "janisplayer", "limit": 100}, "id":1}' https://api.hive.blog
Du kannst maximal bis zu 100 Post von der API anfragen, wie bei Steemit.
Was muss ich dann also machen, ja nächster API Befehl: bridge.get_account_posts
Diese gibt mir die Posts von einem bestimmten Post aus.
{"id":<lastid+1>,"jsonrpc":"2.0","method":"bridge.get_account_posts","params":{"sort":"blog","account":"janisplayer","limit":100,"start_author":"janisplayer","start_permlink":"steem-in-die-webseite-inigieren","observer":"janisplayer"}}
Und dann muss ich fragen, ist lastid+1 kleiner als die ID die ich erhalten habe oder habe ich einen Fehler bekommen, dann hör auf ständig nach Posts zu fragen.
Was muss ich dann machen:
Das JSON was jetzt mehr als 100+ Posts enthalten kann in einer Schleife durchgehen, die für mich wichtigen Informationen aufbereiten und diese in eigene JSON Dateien ablegen.
Woher weiß der Blog ob er aktuell ist im PHP Modus, ja das muss jetzt anders gehändelt werden.
Ich muss den letzten Post alle 5 Minuten abfragen, wenn dieser nicht als JSON Datei existiert, dann wird der Generator angeworfen bis zu einem Post der als JSON Datei existiert.
Die nicht existenten JSON müssen neu generiert werden und der Blog ist aktuell.
Mit der API von @steemchiller war die PHP Umsetzung viel einfacher, da kann ich nämlich einfach nachfragen, wie viele Posts ein Account hat und das grenzenlos und dann einfach die gewünschten Posts abfragen.
Also kann noch eine weile Dauern, bis ich das umgesetzt habe, ich muss zuerst einmal den Code aufräumen der schon da ist, damit man das Ganze leichter nutzbar machen kann für User.
Aber ja auch wenn die Hive API genau so nervtötend umständlich ist wie die von Steemit, ist es auch mit PHP möglich diese zu nutzen, wird also kommen, da ich aber auch andere Projekte habe, die mehr genutzt werden und nutzbarer sind für einfache User vielleicht erst in 1-2 Monaten.
Ich denke das war eine ausführlichere Antwort ob es einen Hive Support gibt. :D
Was ist eigentlich der Zweck der ganzen Arbeit?
Du könntest doch einfach auf Deiner Webseite einen Link zu Deinem Hive-Profil legen und fertig.
Ja eigentlich war Steem oder heute auch Hive nur als Datenbank gedacht, ich wollte einen Speicher für die Ewigkeit sozusagen.
Falls die Seite eines Tags nicht mehr existiert, gibt es immer noch die Blockchain.
Ich finde das viel besser als so eine 0815 WordPress Seite.
Zweiter Vorteil, die Webseite kann mit ADs und Partnerprogrammen versorgt werden.
Frag mich nicht wieso, aber wie sich herausgestellt hat, will Amazon seine Links nicht auf Steemit oder Hive sehen.
Ich habe eins drauf bekommen, weil ich sogar nur zu Steemit verlinkt habe in der ersten Version.
In der jetzigen Version kann man das was Parsedown und marked.js ausspuckt auch lesen, HTML ist allerdings noch nicht kompatibel nur Markdown.
Die PHP Version ist halt noch unfertig und muss noch einmal stark verändert werden, der Code ist so geschrieben, ja es muss nur laufen. :D
Ich habe das ganze, meist spät Abends geschrieben.
Die Performance macht deshalb noch Probleme und es gibt Probleme mit den lokalen Bildern (Dateipfad) bei Docker, weil das eigentlich zwei Funktionen sein müssen oder zwei Variablen.
Also der Plan ist, das PHP Script zieht seine Informationen von Steem oder Hive und nutzt diese als Datenbank.
Speichert die Daten auf dem Server zwischen als Backup, falls die Blockchain ausfällt. (Gibts ja hin und wieder bei Steem z.B.)
Und wenn alles fertig ist, kannst du damit deinen eigenen Blog oder deine eigene Community Seite erstellen, mit der du schnell ein paar Sachen schreiben kannst ohne die Hilfe der Overlay Plattform.
Du zahlst natürlich auch keine Gebühren an eine Overlay Plattform und kannst wie gewohnt deine Sachen schreiben.
Also wenn meine Idee irgendwann von mir endlich lauffähig umgesetzt wird und ich mich endlich auf einen Modus einige, denn ich auch optimiere, dann könnte das richtig schön werden.
Ein Nutzer hat dann eigentlich nur noch eins zu tun:
Eine fertige Vorlage nutzen, wie die Seite bei ihm auszusehen hat, er kann sie ja auch selbst bauen.
Den Dockerfile herunterladen und die Infos zum Blog oder Community eintragen, Admin Passwort (für das posten) und fertig ist die Seite mit später hoffentlich alles Steem und Hive Funktionen.
Also ja, ist vielleicht etwas aufwändig, aber man lernt immerhin was zwangsläufig dabei, allein dafür hat es sich schon gelohnt.
Aber ein WordPress Blog oder ein Link geht deutlich leichter. :D
Was aber super einfach geht, die Informationen als Javascript aufbereiten und auf der Seite zu platzieren, die Blockchain APIs waren mir aber viel zu träge, deshalb gibts auch den PHP Modus (der so ziemlich alles herunterlädt und aufbereitet).
Edit:
Als WordPress-Plugin wäre das eigentlich gar nicht mal so bescheuert.