Dies ist eine Übersetzung des Original-Artikel geschrieben von @blocktrades zur Arbeit an der Hive Software: https://peakd.com/hive-139531/@blocktrades/9th-update-of-2021-on-blocktrades-work-on-hive-software
Nachfolgend eine Auflistung einiger Hive-bezogener Programmieraufgaben, an denen das BlockTrades-Team in den letzten Wochen gearbeitet hat:
Hived Work (Blockchain Node Software)
Wir haben die Implementierung und den Test der folgenden Hardfork-25-Änderungen abgeschlossen:
- Neue Operation und zugehörige API-Aufrufe zur Konvertierung von Hive→Hive-Dollars (HBD) als Möglichkeit zur Verbesserung des Upside-Pegging der Hive-Dollar.
Für weitere Informationen: https://hive.blog/hive-102930/@blocktrades/proposed-hardfork-change-to-stabilize-hive-dollar-s-tracking-of-usd-value
Hive-Dollars müssen auf einem Sparkonto gespeichert werden, um Zinsen zu erhalten
Weitere Infos: https://hive.blog/hive-102930/@blocktrades/proposal-to-make-hbd-interest-payable-only-to-savings-accountsNeue Unit-Tests: https://gitlab.syncad.com/hive/hive/-/merge_requests/195
Wir haben auch die Unterstützung von @howo für wiederkehrende Überweisungen in HF25 überprüft und erwarten, diese Änderungen morgen einzubinden.
Andere Arbeiten an Hived
Die Unterstützung für COMMENT_CONTENT_SUPPORT wurde entfernt.
Verbesserte Reporting- und Debugging-Möglichkeiten von Unit-Tests
Erlaubt das Ausführen einer Teilmenge der gesamten Suite basierend auf einem Filter
Aktualisierter get_config-API-Aufruf mit neuen Konfigurationsvariablen
Proposal-IDs werden jetzt von der virtuellen Operation proposal-pay gemeldet
Löschen des Memo-Schlüssels von hive.fund wie von @smooth gewünscht
Korrigiert die Version von hived, die gemeldet wird, wenn SMTs nicht aktiviert sind
Derzeit verwenden wir C++14 für die Hardfork. Wir haben mit C++17 getestet und einen Fehler gefunden, den wir behoben haben, aber wir haben uns entschieden, C++17 nicht zur Standardversion für Builds zu machen, da wir uns dem Zeitpunkt der Hardfork nähern. Nach dem Hardfork werden wir wahrscheinlich zu C++17 oder C++20 für die zukünftige Entwicklung wechseln.
Hivemind (Anwendungen des 2. Layers + Middleware für soziale Medien)
Modulares hivemind (Anwendungs-Framework für 2nd-Layer-Apps)
Wir machen solide Fortschritte beim modularen hivemind, besonders im Hinblick auf die Behandlung von Fork Resolutions. Es sieht so aus, als könnten wir eine C-Erweiterung für Postgres vermeiden und uns stattdessen auf eine "SQL-only"-Lösung verlassen, die "Schattentabellen" / shadow tables verwendet, um Änderungen an den Tabellen zu speichern und wiederherzustellen, die Daten speichern, die geändert werden können, wenn hived zu einem anderen Micro-Fork wechselt.
Condenser
Wir haben einige Korrekturen am Condenser vorgenommen und auch einige neue Funktionen von @quochuy und @jpphotography überprüft.
Bevorstehende Arbeiten
Einfrieren des Hived-Codes und Start des Testnets
Wir planen, die verbleibenden Hived-Code-Änderungen (ein paar kleinere Korrekturen + Unterstützung für wiederkehrende Überweisungen) morgen einzubinden und dann den Start des Testnet am Mittwoch zu ermöglichen.
Wir werden zwei Wochen lang testen und dann hoffentlich bereit sein, den Release Candidate in den Master-Zweig einzubinden, wobei wir den Exchanges mindestens 30 Tage Zeit für ein Update geben werden.
Wenn es also keine Probleme gibt, können wir den Hardfork in etwa sechs Wochen ab Mittwoch erwarten.
Anmerkung durch @louis88 // Mittwoch: 28.04.20221
Testen der letzten hivemind-Änderungen
Wir werden eine vollständige Synchronisierung von hivemind mit den neuesten Änderungen durchführen und dann die Leistung in einer Produktionsumgebung auf api.hive.blog testen. Wenn keine Probleme gefunden werden, wird nächste Woche eine Produktionsfreigabe für die API-Knoten folgen.
SQL Kontohistorie-Plugin für hived
Wir planen, in den nächsten Tagen die Änderungen am SQL Account History Plugin abzuschließen, das die Daten nach Postgres schiebt (und damit die Notwendigkeit beseitigt, dass hivemind die Daten über RPC-Aufrufe bezieht).
Nachdem die Plugin-Änderungen abgeschlossen sind, werden wir eine gleichzeitiges Replay von hived mit einer Vollsynchronisation von hivemind durchführen, um die Beschleunigung zu messen und zu sehen, ob sie mit der von uns erwarteten Verbesserung der Vollsynchronisationszeit von hivemind übereinstimmt (wir erwarten 2 Tage im Vergleich zu den derzeit benötigten 4 Tagen).