STEEM Blockchain untersuchen - 3 - API
Im ersten Teil der Serie habe ich eine minimale .NET Core 2.0 Anwendung bereitgestellt, die über WebSocket auf die STEEM Blockchain zugreift und den Befehl get_account_count ausführt, als Antwort wird die aktuelle Anzahl der Benutzerkonten geliefert.
Weil der WebSocket Zugriff über wss://steemd.steemit.com nicht mehr möglich gewesen ist, habe ich ein Update (wss://seed.bitcoiner.me) veröffentlicht, aber auch der Zugriff über diesen URI hat zu Problemen geführt, daher habe ich für den zweiten Teil eine RPC Variante erstellt.
Der vorliegende Teil beschäftigt sich mit den angebotenen Befehlen, im nächsten Teil möchte ich eine Anwendung bereitstellen, die das Experimentieren mit den Befehlen erlaubt.
Struktur eines Befehls
Befehle und die entsprechenden Antworten verwenden das JSON Format, der Befehl aus den beiden ersten Teilen als einführendes Beispiel:
{"jsonrpc":"2.0","method":"get_account_count","id":1}
Die Antwort mit fiktiven 555555 Benutzerkonten, in Wahrheit sind es glücklicherweise schon wesentlich mehr.
{"id":1,"result":555555}
Ein Befehl kann auch über Parameter verfügen, beim Befehl get_block muss beispielsweise die gewünschte Blocknummer angegeben werden, im Beispiel Block 500:
{"jsonrpc":"2.0","method":"get_block","params":[500],"id":1}
Folgendes Beispiel zeigt die Übergabe einer Zeichenkette als Parameter:
{"jsonrpc":"2.0","method":"get_account_votes","params":["realtom"],"id":1}
Befehle
Nachfolgend die wichtigsten Informationen zu den einzelnen Befehlen:
Schlagworte (Tags)
1. get_trending_tags - Liste angesagter Schlagworte
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_trending_tags","params":["ski",2],"id":1}
2. get_tags_used_by_author - Liefert kein Ergebnis
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_tags_used_by_author","params":["realtom"],"id":1}
3. get_discussions_by_payout - Methode kann nicht gefunden werden
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_payout","params":[{"tag":"ski","limit":2}],"id":1}
4. get_post_discussions_by_payout - Liste von Postings nach Auszahlung
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_post_discussions_by_payout","params":[{"tag":"ski","limit":2}],"id":1}
5. get_comment_discussions_by_payout - Liste von Kommentaren nach Auszahlung
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_comment_discussions_by_payout","params":[{"tag":"ski","limit":2}],"id":1}
6. get_discussions_by_trending - Liste von Postings in Trending
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_trending","params":[{"tag":"ski","limit":2}],"id":1}
7. get_discussions_by_created - Liste von Postings nach Aktualität
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_created","params":[{"tag":"ski","limit":2}],"id":1}
8. get_discussions_by_active - Liste aktiver Postings
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_active","params":[{"tag":"ski","limit":2}],"id":1}
9. get_discussions_by_cashout - Liste von Postings mit ausstehenden Auszahlungen
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_cashout","params":[{"tag":"ski","limit":2}],"id":1}
10. get_discussions_by_votes - Liste von Postings nach Stimmen
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_votes","params":[{"tag":"ski","limit":2}],"id":1}
11. get_discussions_by_children - Liste untergeordneter Postings
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_children","params":[{"tag":"ski","limit":2}],"id":1}
12. get_discussions_by_hot - Liste von Postings in Hot
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_hot","params":[{"tag":"ski","limit":2}],"id":1}
13. get_discussions_by_feed - Liste von Postings eines Feeds
Parameter Benutzername und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_feed","params":[{"tag":"realtom","limit":2}],"id":1}
14. get_discussions_by_blog - Liste von Postings eines Blogs
Parameter Benutzername und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_blog","params":[{"tag":"realtom","limit":2}],"id":1}
15. get_discussions_by_comments - Liste von Kommentaren eines Benutzers
Parameter Benutzername, Permalink und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_comments","params":[{"start_author":"realtom","start_permlink":"skitour-auf-den-blahstein","limit":2}],"id":1}
16. get_discussions_by_promoted - Liste von Postings in Promoted
Parameter Schlagwort und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_promoted","params":[{"tag":"ski","limit":2}],"id":1}
Blöcke und Transaktionen
17. get_block_header - Infos zum Kopf des Blocks
Parameter Blocknummer
{"jsonrpc":"2.0","method":"get_block_header","params":[500],"id":1}
18. get_block - Infos zum Block
Parameter Blocknummer
{"jsonrpc":"2.0","method":"get_block","params":[500],"id":1}
19. get_ops_in_block - Operationen eines Blocks
Parameter Blocknummer und boolscher Wert (nur virtuelle Operationen)
{"jsonrpc":"2.0","method":"get_ops_in_block","params":[500,"false"],"id":1}
20. get_state - Status des Netzwerks
Parameter Pfad, leer für aktuellen Status
{"jsonrpc":"2.0","method":"get_state","params":[""],"id":1}
Globals
21. get_config - Interne Blockchain Konfiguration
Keine Parameter
{"jsonrpc":"2.0","method":"get_config","id":1}
22. get_dynamic_global_properties - Aktueller Blockchain Status
Keine Parameter
{"jsonrpc":"2.0","method":"get_dynamic_global_properties","id":1}
23. get_chain_properties - Blockchain Eigenschaften
Keine Parameter
{"jsonrpc":"2.0","method":"get_chain_properties","id":1}
24. get_feed_history - Stündlicher durchschnittlicher Preisverlauf
Keine Parameter
{"jsonrpc":"2.0","method":"get_feed_history","id":1}
25. get_current_median_history_price - Aktueller durchschnittlicher Preis
Keine Parameter
{"jsonrpc":"2.0","method":"get_current_median_history_price","id":1}
26. get_witness_schedule - Zeugenverlauf
Keine Parameter
{"jsonrpc":"2.0","method":"get_witness_schedule","id":1}
27. get_hardfork_version - Hardfork Version
Keine Parameter
{"jsonrpc":"2.0","method":"get_hardfork_version","id":1}
28. get_next_scheduled_hardfork - Hardfork Version und Aktivierungszeitpunkt
Keine Parameter
{"jsonrpc":"2.0","method":"get_next_scheduled_hardfork","id":1}
29. get_reward_fund - Infos über Posting Belohnungen
Parameter Post
{"jsonrpc":"2.0","method":"get_reward_fund","params":["post"],"id":1}
Schlüssel
30. get_key_references - Liefert Benutzernamen
Parameter Schlüssel
{"jsonrpc":"2.0","method":"get_key_references","params":[["STM7dbLLaztTttWvRdVb1NdjdboieZcMsnavAwJzaStxUTKkSnDnK"]],"id":1}
Konten
31. get_accounts - Infos zu Konten
Parameter Benutzernamen
{"jsonrpc":"2.0","method":"get_accounts","params":[["realtom"]],"id":1}
32. get_account_references - Fehlermeldung: "Muss für Steem überarbeitet werden"
Parameter Benutzer ID
{"jsonrpc":"2.0","method":"get_account_references","params":[338882],"id":1}
33. lookup_account_names - Infos zu Konten
Parameter Benutzernamen
{"jsonrpc":"2.0","method":"lookup_account_names","params":[["realtom","gtg"]],"id":1}
34. lookup_accounts - Suche Benutzer
Parameter Benutzername und Limit
{"jsonrpc":"2.0","method":"lookup_accounts","params":["realtom",2],"id":1}
35: get_account_count - Anzahl der Konten
Keine Parameter
{"jsonrpc":"2.0","method":"get_account_count","id":1}
36. get_conversion_requests - Liefert kein Ergebnis
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_conversion_requests","params":["realtom"],"id":1}
37. get_account_history - Verlauf eines Kontos
Parameter Benutzername, Startindex, Limit
{"jsonrpc":"2.0","method":"get_account_history","params":["realtom",-1,2],"id":1}
38. get_owner_history - Besitzerverlauf
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_owner_history","params":["realtom"],"id":1}
39. get_recovery_request - Kontostatus
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_recovery_request","params":["realtom"],"id":1}
40. get_escrow - Liefert null
Parameter Benutzername und ID
{"jsonrpc":"2.0","method":"get_escrow","params":["realtom",1],"id":1}
41. get_withdraw_routes - Liefert kein Ergebnis
Parameter Benutzername und Typ
{"jsonrpc":"2.0","method":"get_withdraw_routes","params":["realtom","all"],"id":1}
42. get_account_bandwidth - Bandbreite für Posting (Typ 1) oder Handel (Typ 2)
Parameter Benutzername und Typ
{"jsonrpc":"2.0","method":"get_account_bandwidth","params":["realtom",1],"id":1}
43. get_savings_withdraw_from - Liefert kein Ergebnis
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_savings_withdraw_from","params":["realtom"],"id":1}
44. get_savings_withdraw_to - Liefert kein Ergebnis
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_savings_withdraw_to","params":["realtom"],"id":1}
45. get_vesting_delegations - Delegierte VESTS
Parameter Benutzername, Delegierer und Limit
{"jsonrpc":"2.0","method":"get_vesting_delegations","params":["realtom","",2],"id":1}
46. get_expiring_vesting_delegations - Liefert kein Ergebnis
Parameter Benutzername, Zeitpunkt und Limit
{"jsonrpc":"2.0","method":"get_expiring_vesting_delegations","params":["realtom","2018-03-01T00:00:00",2],"id":1}
Marktplatz
47. get_order_book - Liste von Kauf- und Verkaufsangeboten des internen STEEM Marktes
Parameter Limit
{"jsonrpc":"2.0","method":"get_order_book","params":[2],"id":1}
48. get_open_orders - Offene Transaktionen
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_open_orders","params":["realtom"],"id":1}
49. get_liquidity_queue - Methode kann nicht gefunden werden
Parameter Benutzername und Limit
{"jsonrpc":"2.0","method":"get_liquidity_queue","params":["realtom",2],"id":1}
Authority / validation
Die folgenden Befehle verwenden das Transaktionsobjekt und sind in diesem Artikel nicht berücksichtigt.
50. get_transaction_hex
51. get_transaction
52. get_required_signatures
53. get_potential_signatures
54. verify_authority
55. verify_account_authority
Stimmen
56. get_active_votes - Stimmen für Posting
Parameter Benutzername und Permalink
{"jsonrpc":"2.0","method":"get_active_votes","params":["realtom","skitour-auf-den-blahstein"],"id":1}
57. get_account_votes - Abgegebene Stimmen eines Kontos
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_account_votes","params":["realtom"],"id":1}
Inhalte
58. get_content - Infos über Posting
Parameter Benutzername und Permalink
{"jsonrpc":"2.0","method":"get_content","params":["realtom","skitour-auf-den-blahstein"],"id":1}
59. get_content_replies - Liste der Antworten auf Posting
Parameter Benutzername und Permalink
{"jsonrpc":"2.0","method":"get_content_replies","params":["realtom","skitour-auf-den-blahstein"],"id":1}
60. get_discussions_by_author_before_date - Diskussionen von Permalink vor Zeitpunkt
Parameter Benutzername, Permalink, Datum und Limit
{"jsonrpc":"2.0","method":"get_discussions_by_author_before_date","params":["realtom","skitour-auf-den-blahstein","2018-03-01T00:00:00",5],"id":1}
61. get_replies_by_last_update - Antworten von einem Permalink beginnend
Parameter Benutzername, Permalink und Limit
{"jsonrpc":"2.0","method":"get_replies_by_last_update","params":["realtom","skitour-auf-den-blahstein",2],"id":1}
Zeugen
62. get_witnesses - Zeugen nach IDs
Parameter IDs
{"jsonrpc":"2.0","method":"get_witnesses","params":[[7,8]],"id":1}
63. get_witness_by_account - Zeuge nach Benutzername
Parameter Benutzername
{"jsonrpc":"2.0","method":"get_witness_by_account","params":["gtg"],"id":1}
64. get_witnesses_by_vote - Zeugen nach Anzahl der Stimmen
Parameter Benutzername und Limit
{"jsonrpc":"2.0","method":"get_witnesses_by_vote","params":["gtg",2],"id":1}
65. lookup_witness_accounts - Liste der Zeugen
Parameter Benutzername und Limit
{"jsonrpc":"2.0","method":"lookup_witness_accounts","params":["gtg",2],"id":1}
66. get_witness_count - Anzahl der Zeugen
Keine Parameter
{"jsonrpc":"2.0","method":"get_witness_count","id":1}
67. get_active_witnesses - Liste der aktiven Zeugen
Keine Parameter
{"jsonrpc":"2.0","method":"get_active_witnesses","id":1}