[Blocktrades Update] 12.tes Update 2021 zu BlockTrades Arbeit an der Hive-Software

in Deutsch D-A-CH3 years ago

Dies ist eine Übersetzung des Original-Artikel geschrieben von @blocktrades zur Arbeit an der Hive Software: https://peakd.com/hive-139531/@blocktrades/12th-update-of-2021-on-blocktrades-work-on-hive-software (Veröffentlicht: Montag 17 Mai 2021)

Nachfolgend eine Auflistung einiger Hive-bezogener Programmieraufgaben, an denen das BlockTrades-Team in den letzten Wochen gearbeitet hat:

Hived Work (Blockchain Node Software)

Diese Woche haben wir den ersten Release Candidate für Hardfork 25 getestet. Zusätzlich zu den manuellen Tests des API-Nodebetriebs schreiben wir auch ein paar weitere Tests, um die Konsensänderungen unter Stressbedingungen zu testen.

Obwohl wir noch keine Fehler in den neuen Konsens-Änderungen gefunden haben, haben wir mehrere Korrekturen an langjährigen Fehlern vorgenommen, die wir im Rahmen unserer manuellen Node-Tests gefunden haben. Die meisten dieser Fehler beziehen sich auf Startprobleme und verwirrende Protokollmeldungen, die einen Nodebetreiber in die Irre führen könnten:

  • Wir haben eine Fehlermeldung behoben, die fälschlicherweise meldete, dass sich eine Peer-Node auf einer irreversiblen Fork befand, obwohl er höchstwahrscheinlich gerade vor der Node des Benutzers war.

  • Wir haben einen langjährigen Fehler behoben, der zu einem Absturz beim Start führen konnte, wenn eine Node begann, API-Anfragen zu empfangen, bevor die Node vollständig initialisiert war.

  • hived meldet jetzt die Peer-Anzahl in Warnmeldungen, wenn der Blockchain-Thread meldet, dass er in den letzten 30 Sekunden keine Transaktionen oder Blöcke vom P2P-Thread erhalten hat.

  • Hived verzögert nun die Verbindung zu Seed-Nodes, bis das P2P-Netzwerk initialisiert und bereit ist, Peer-Anfragen zu verarbeiten. Dadurch wird verhindert, dass Seed-Nodes die Verbindung unterbrechen, weil die Node des Benutzers nicht rechtzeitig antwortet.

  • ulog-Meldungen werden jetzt auf stderr (Konsole) für die Node protokolliert. Ulog-Meldungen werden vom P2P-Thread verwendet, um wichtige Probleme zu melden, die von Nodebetreibern gesehen werden sollten. Insbesondere erhält der Benutzer jetzt eine Konsolenwarnung, wenn sich der Nodestart verzögert, während der P2P-Thread versucht, vom Betriebssystem Zugriff auf den P2P-Anschluss zu erhalten (wenn eine Node über Strg-C heruntergefahren wird, kann das Betriebssystem bis zu 1 Minute brauchen, um den Port freizugeben, wodurch sich die Wiedererlangung des benötigten Ports beim Neustart der Node verzögert).

Wir haben auch Hive-API-Nodes aktualisiert, um beim Start die Hive-Chainid BEEABODE zu melden (als vorübergehende Maßnahme meldete die Node beim Start eine Chainid von 0 und wechselte dann zur Meldung von BEEABODE, nachdem sie den Genesis Fork für Hive erreicht hatte).

Für die erste Version des Hardfork 25 werden Hive-Nodes weiterhin Verbindungen von Nodes mit der chainid 0 zulassen, obwohl sie die neue chainid melden, aber nachdem alle Hive-Nodes auf den Code des Hardfork 25 aktualisiert wurden, werden wir den Code ändern, um Verbindungen von älteren Nodes abzulehnen.

Zweiter Release Candidate für hived in Kürze

Wir werden wahrscheinlich in den nächsten Tagen einen zweiten Release Candidate von hived veröffentlichen, der die oben besprochenen Diagnosen und Fehlerbehebungen enthält (diese Änderungen wurden bereits in den Entwicklungszweig eingebunden, so dass diese nun zum Testen bereit sind), plus ein oder zwei weitere kleine Verbesserungen, die noch zur Überprüfung anstehen.

Hivemind (Anwendungen im 2. Layer + Middleware für soziale Medien)

Wir arbeiten weiter an einigen Hivemind-Tests, führen Leistungstests durch und bereiten Skripte für die Datenbankmigration vor, um ein neues Hivemind-Release vorzubereiten (sollte irgendwann in dieser Woche sein).

Modular hivemind (Framework für HIVE Anwendungen)

Wir hatten letzte Woche noch keine Zeit, die Änderungen für den Sql-Serializer vorzunehmen, da wir die Zeit damit verbracht haben, die verschiedenen in diesem Beitrag besprochenen Probleme zu beheben, aber wir werden diese Arbeit wahrscheinlich? in der kommenden Woche abschließen. Dann werden wir in der Lage sein, einen vollständigen Performance-Test des Sql-Serializers in Kombination mit einer vollständigen Synchronisation von hivemind durchzuführen.

In der Zwischenzeit arbeiten wir daran, eine modulare hivemind-basierte Beispielanwendung zu erstellen, die nur die Account History API unterstützt.

Condenser (Code-Basis für https://hive.blog)

Wir testen den Code des condenser gegen das testnet. Wir hatten einige Probleme damit, dass der Condenser in der Lage war, Transaktionen an das Testnet zu übertragen, was letztendlich darauf zurückzuführen war, dass der Condenser eine ältere Version des hive-js-Pakets verwendet. Es wird derzeit aktualisiert und die Tests werden fortgesetzt. Die gleiche Änderung wird auch auf die Condenser-Wallet angewendet werden.

Hived Testnet

Wir haben das neue öffentliche Testnet auf der Basis von Release Candidate 1 gestartet und mit dem Testen begonnen.

Wir haben auch eine API-Node eingerichtet, die so konfiguriert ist, dass sie Daten aus dem Testnet bezieht. Diese API-Node sollte von Hive-Anwendungen verwendet werden, um Code-Änderungen zur Unterstützung neuer, durch den Hardfork hinzugefügter Funktionen, wie z. B. die Berichterstattung über den Verfall von Stimmen, vorzunehmen.

Wenn du eine Node zum öffentlichen Testnet hinzufügen möchtest, verwende diese Seednode:
p2p-seed-node = testnet.openhive.network:2001

Zum verwenden der API Node des Testnet:

API endpoint via jussi: https://testnet.openhive.network
hived direct http server: http://testnet.openhive.network:8091
hived direct websocket server: ws://testnet.openhive.network:8090
hivemind server direct server: http://testnet.openhive.network:8080

Wie bereits erwähnt, haben wir begonnen, diese Testnet-API-Node mit Condenser zu testen. Du kannst ihn hier aufrufen: https://testblog.openhive.network

Wir werden demnächst auch einen Block-Explorer und eine Condenser-basierte Wallet für das Testnet einrichten.
Update: @ausbitbank hat einen Block-Explorer für das Testnet hinzugefügt https://test.ausbit.dev/

Wir planen, dieses Testnet als permanentes Testnet laufen zu lassen, das Apps zum Testen verwenden können, bevor sie Änderungen an ihrer App vornehmen, die im Mainnet läuft. Hive-App-Entwickler sollten also unbedingt diese Möglichkeit nutzen. Als Randbemerkung: Bitte stellt sicher, dass ihr die neueste Version von hive-js verwendet, um sicherzustellen, dass sie mit der Testnet-API-Node kompatibel ist. Wir haben auch beempy erfolgreich gegen die testnet-API-Node getestet.

Geplantes Datum für den Hardfork 25

Ich gehe immer noch davon aus, dass der Hardfork in der zweiten Junihälfte stattfinden wird, wahrscheinlich in der letzten Woche.