AppBase: Der nächste Schritt für die Steem Blockchain (lass den Test beginnen)

in #deutsch6 years ago

grafik.png

Heute haben wir einige aufregende Neuigkeiten zu teilen: AppBase ist bereit, und wir möchten, dass jeder beim Testen hilft. Beachten Sie jedoch, dass Entwickler von Drittanbietern möglicherweise kleinere Änderungen vornehmen müssen, um sich an die neue Plattform anzupassen.
AppBase-Release-Kandidat ist jetzt bereit

Im August haben wir euch Neuigkeiten über einige der aufregenden Updates der Steem Blockchain mitgeteilt. Eines dieser Updates ist AppBase, das verschiedene 'Module' erstellen wird, die die Skalierbarkeit von Steem dramatisch verbessern werden.

AppBase ist der erste Schritt bei der Erstellung eines mehrkettigen FABRIC. AppBase ermöglicht es, viele Komponenten der Steem-Blockchain modular zu gestalten, indem zusätzliche nicht übereinstimmende Blockchains als dedizierte Plugins erstellt werden. Diese Plugins können viel schneller aktualisiert werden, da sie nicht die gesamte Blockchain wiedergeben müssen.
Wir sind endlich bereit, AppBase in großem Umfang zu testen!

Wenn Sie nur ein normaler Benutzer von steemit.com sind, können Sie auch helfen. Gehen Sie weiter zu steemitstag.com und nutzen Sie die Seite wie Sie es normalerweise tun würden.

Unsere Staging-Umgebung enthält die gleichen Sicherheitsmaßnahmen wie für steemit.com und gilt als Vorproduktion. Es ist so konzipiert, dass es so nah wie möglich an der 'echten' steemit.com ist, um neuen Code vollständig zu überprüfen, bevor es zu steemit.com kommt. Wenn Sie immer noch Bedenken haben, Ihre Schlüssel zu verwenden, können Sie gerne Ihren Buchungsschlüssel verwenden. Selbst wenn Sie sich überhaupt nicht einloggen, ist es immer noch nützlich, die Seite zu durchsuchen und uns Feedback zu geben.
Für Entwickler

Wenn Sie einen Steem-Dienst ausführen oder aufrechterhalten, müssen Sie einige Schritte ausführen, um sicherzustellen, dass Ihr Dienst weiterhin ordnungsgemäß funktioniert. Details finden Sie in den folgenden Abschnitten.
steemd Knoten ändert sich

Wenn Sie einen Steemd-Knoten ausführen, können Sie das Tag v0.19.4rc1 von GitHub oder Docker Hub auschecken.
API-Änderungen

Wir haben unsere APIs neu strukturiert, um eine größere Flexibilität für zukünftige Upgrades und Wartungen zu ermöglichen. Die APIs nehmen nun ein einzelnes Objekt als Argument auf und geben ein einzelnes Objekt als Rückgabetyp zurück. Alle vorhandenen APIs wurden aktualisiert, um diesem Standard zu entsprechen.

Da wir uns nicht länger an die Parameter-Semantik im C ++ - Stil halten müssen, können wir variablere Standard-Argumenttypen sowie variadische Parameter verwenden. Wir können die Funktionalität eines Anrufs auch erweitern, ohne die vorhandenen Apps zu beeinträchtigen, indem das zurückgegebene Objekt erweitert wird.

Die Datenbank_api hat wesentliche Änderungen erfahren, um die Abfrage aller Konsensobjekte mit jeder Bestellung, die steemd bereits verwendet, zu ermöglichen. Dies bietet mehr Flexibilität für Dienste, um die Objekte zu finden, die sie benötigen.

Neuer Kondensator_api

Um diesen Übergang zu unterstützen, haben wir condenser_api erstellt, das alle derzeit vorhandenen API-Methoden enthält und die vorhandene Argumentformatierung verwendet. Der einfachste Weg, um Ihre App mit AppBase arbeiten zu lassen, besteht darin, die API in condenser_api zu ändern.

APIs müssen namentlich aufgerufen werden

Wenn Sie den Aufruf einer API mit der API-ID gewohnt sind, wird diese Aufrufmethode nicht mehr unterstützt. Alle APIs müssen jetzt namentlich aufgerufen werden.

Login_api wurde entfernt

Die login_api wurde entwickelt, um die API-Namen numerischen IDs zuzuordnen. Da die APIs nicht mehr über die ID aufgerufen werden, ist login_api nicht mehr erforderlich und wurde daher entfernt.

API-Methodenliste

Wenn Sie jsonrpc.get_methods aufrufen, wird eine Liste aller verfügbaren API-Methoden zurückgegeben.

Argument- und Rückgabeobjektprototypen

Wenn Sie jsonrpc.get_signature aufrufen und einen API-Methodennamen übergeben, wird das Argument zurückgegeben und die Objektprototypen zurückgegeben.

Beispielsweise,

{'jsonrpc': '2.0', 'Methode': 'jsonrpc.get_signature', 'params': {'Methode': 'database_api.get_active_witnessess'}, 'id': 1}

kehrt zurück
{'jsonrpc': '2.0', 'Ergebnis': {'args': {}, 'ret': {'Zeugen': []}}, 'id': 1}

{} ist das Argument void type und gibt eine Liste im Feld Zeugen zurück.

Verwenden von condenser_api

Alle Aufrufe in condenser_api geben [] als Argument zurück, da das übergebene Array-Argument undurchsichtig ist und in den API-Aufrufen selbst implementiert wird. Sie folgen der aktuellen Argumentformatierung. Vorhandene Apps sollten nur die Verwendung von login_api überspringen und alle ihre Aufrufe an condenser_api senden, ohne dass andere Änderungen erforderlich sind, um Appbase zu verwenden.

Rufen Sie beispielsweise get_dynamic_global_properties mit condenser_api vs database_api auf:

{'jsonrpc': '2.0', 'Methode': 'condenser_api.get_dynamic_global_properties', 'params': [], 'id': 1}

{'jsonrpc': '2.0', 'Methode': 'database_api.get_dynamic_global_properties', 'id': 1}

Da die Methode keine Argumente hat, kann das Feld params weggelassen werden, wenn condenser_api nicht verwendet wird. Es kann jedoch optional als der Fehlertyp enthalten sein (z. B. 'params': {}), aber es ist nicht erforderlich.

Rationalisierte Syntax

Sie haben vielleicht bemerkt, dass die vorherigen Beispiele ein anderes Format zum Aufrufen der API verwendet haben. Zuvor gab es eine veraltete Aufrufsyntax, die folgendermaßen aussah:

{'jsonrpc': '2.0', 'id': 0, 'Methode': 'call', 'params': ['api', 'function', [ARGS]]}.

Wir unterstützen jedoch jetzt eine optimierte Aufrufsyntax:

{'jsonrpc': '2.0', 'id': 0, 'Methode': 'api.function', 'params': [ARGS]}

Beide Formate funktionieren, aber das neue Format wird bevorzugt

Coin Marketplace

STEEM 0.19
TRX 0.14
JST 0.030
BTC 60122.55
ETH 3199.29
USDT 1.00
SBD 2.43