Skip to content Skip to sidebar Skip to footer

12142 | Textvorschlag – Entfernung von Forked Modules aus Terra Classic

7 min read 1,386 words 231 views

Zusammenfassung

OrbitLabs schlรคgt vor, die geforketen Mainline-Module aus der Terra Classic Blockchain zu entfernen, um die Wartbarkeit zu verbessern, technische Schulden zu reduzieren und sich an das breitere Cosmos-ร–kosystem anzupassen.

Eine umfassende Einfรผhrung in unsere Teams und Qualifikationen finden Sie unter: https://hackmd.io/@orbitlabs/SJiDiG22A

Aktuelle Situation

Die Terra Classic Codebasis verwendet derzeit mehrere Fork-Versionen von Cosmos-Modulen, um ihre einzigartigen Funktionen unterzubringen. Diese Forks haben dazu gefรผhrt, dass die Codebasis immer weiter von den Upstream-Modulen abweicht, was die Wartungskosten in die Hรถhe treibt, solange das so bleibt.

Mit den aktuellen Versionen von Luna Classic und den vorgelagerten Modulen haben wir jetzt die Mรถglichkeit,:

  • Entfernen Sie die Forked-Module, die vom Terra Classic-Team gepflegt werden
  • Integrieren Sie die vorgelagerten Standardmodule
  • Portieren Sie Terra Classic-spezifische ร„nderungen an dem Terrad-Modul selbst

Dieser Ansatz wรผrde es Terra Classic ermรถglichen, aktuelle Sicherheiten und Funktionen vom Cosmos-Entwicklungsteam zu รผbernehmen, was die Wartungskosten und den Zeitaufwand massiv reduzieren wรผrde.

Terra Classic Anpassungen/Gabeln

#### CosmosSDK:

  • Benutzerdefinierte Logik fรผr OracleTx: Unterstรผtzung fรผr die Behandlung von Oracle-Transaktionsprioritรคten.
  • Benutzerdefinierte Einsatzlogik: Begrenzen Sie die Stimmkraft des Validators auf 20%.

#### CometBFT (frรผher Tendermint):

  • Oracle-Transaktionen: Es wurde die Funktionalitรคt hinzugefรผgt, Terra Classic spezifische Oracle-Transaktionen zu verarbeiten.

#### Wasmd

  • Veraltete Schlรผssel: Die aktuellen Schlรผssel, die in Terra Classic’s Wasmd Fork verwendet werden, sind veraltet. Dies wirkt sich darauf aus, wie vertragsbezogene Daten im Blockchain-Status gespeichert und abgerufen werden.

Konsequenzen des Nichtstuns

Wenn wir dieses Problem nicht angehen:

Erhรถhte Wartungskosten

Da Terra Classic weiterhin Fork-Versionen der Cosmos-Kernmodule pflegt, wird der Aufwand, diese Forks mit Upstream-Entwicklungen synchron zu halten, zunehmen. Dies wird erhebliche Entwicklerressourcen erfordern, um Updates, Fehlerbehebungen und Kompatibilitรคt zu verwalten, was zu erhรถhten Betriebskosten fรผhrt.

Verpasste Upstream-Verbesserungen

Durch die Abweichung vom Mainline-Cosmos-SDK und den zugehรถrigen Modulen lรคuft Terra Classic Gefahr, bei der รœbernahme wichtiger Verbesserungen und neuer Funktionen, die von der breiteren Cosmos-Community entwickelt wurden, ins Hintertreffen zu geraten. Dies kann die Wettbewerbsfรคhigkeit von Terra Classic einschrรคnken und die Integration zukรผnftiger Technologien, Upgrades, Leistungsverbesserungen und anderer Innovationen erschweren.

Erhรถhte Sicherheitsrisiken

Die verzรถgerte รœbernahme von Upstream-Sicherheitspatches und Schwachstellenbehebungen setzt die Terra Classic-Kette potenziellen Angriffen aus. Je lรคnger Terra Classic mit veralteten Modulen arbeitet, desto grรถรŸer ist das Risiko, von bekannten Sicherheitslรผcken betroffen zu sein, die im Cosmos-ร–kosystem bereits behoben wurden.

Zurรผckhaltendes Entwickler-ร–kosystem

Eine Codebasis, die zunehmend nicht mehr mit dem Haupt-ร–kosystem von Cosmos รผbereinstimmt, kรถnnte L1-Entwickler davon abhalten, zu Terra Classic beizutragen. Das Erlernen der Codebasis wรคre fรผr die Entwickler zusรคtzlich kompliziert, was die Innovation und das Engagement der Entwickler einschrรคnken kรถnnte.

Vorgeschlagene Lรถsung

Wir schlagen vor, die geforketen Mainline-Module zu entfernen und sie durch die Standard-Cosmos-Module zu ersetzen. Dieser Prozess wird in zwei Phasen unterteilt sein

Phase 1

  • CometBFT von v0.37.4-terra1 auf die Mainline-Version v0.37.4 entpacken
    • Dies beinhaltet die Aktualisierung der Konsens-Engine, um sie an die Version 0.37.4 von CometBFT anzupassen.
    • Ausfรผhrliche Tests sind erforderlich, um die Stabilitรคt des Netzwerks zu gewรคhrleisten.
  • Aktualisieren Sie CosmosSDK von v0.47.10-terra.1 auf v0.47.10
    • Migrieren Sie auf die Version v0.47.10 von CosmosSDK, die mit unserer Zielversion v0.37.4 von CometBFT kompatibel ist.
    • Identifizieren und lรถsen Sie alle Konflikte mit Terra Classic spezifischen Funktionen
  • Verschieben Sie das Orakel und die Einsatzlogik nach Terrad
    • Refaktorieren Sie das Orakel-Modul, damit es mit dem aktualisierten CosmosSDK kompatibel ist.
    • Stellen Sie sicher, dass alle Terra Classic-spezifischen Orakel-Funktionen beibehalten werden.

Phase 2

Migration von Wasmd von v0.46.0-classic.1 auf das Mainline Wasmd v0.46.0

  • Migration des Vertragsspeichers, um Kompatibilitรคt mit bestehenden Smart Contracts zu gewรคhrleisten
  • Umfassende Tests der Vertragsausfรผhrung und der Statusmigrationen
    • Unit-Tests: Aktualisieren Sie bestehende und erstellen Sie neue Unit-Tests fรผr die Migrationslogik von Vertragsspeichern und Zustandsmigrationen.
    • Integrationstests: Entwickeln Sie End-to-End-Tests, die den gesamten Migrationsprozess simulieren, einschlieรŸlich der Bereitstellung und Ausfรผhrung von Vertrรคgen und der Interaktion mit mehreren Vertrรคgen.
    • Status-Snapshot-Tests: Importieren Sie einen Snapshot des aktuellen Blockchain-Zustands, fรผhren Sie einen Trockenlauf der Migration durch, รผberprรผfen Sie den Zustand und die Funktionalitรคt des Vertrags nach der Migration und testen Sie Rollback-Prozeduren.

Vorteile

  • Verbesserte Wartbarkeit und weniger technische Schulden
  • Leichtere รœbernahme zukรผnftiger CosmosSDK-Updates
  • Verbesserte Sicherheit durch schnellere Implementierung von Upstream-Korrekturen
  • Verbesserte Interoperabilitรคt mit anderen Cosmos-basierten Ketten
  • Potenzial, mehr Cosmos-Entwickler fรผr das Terra Classic ร–kosystem zu gewinnen

Zeitplan und Meilensteine

Phase 1 (voraussichtlich 8 Wochen):

  • Woche 1: Detaillierte Analyse und Planung
  • Wochen 2-3: CometBFT unfork und Integration
  • Wochen 4-5: CosmosSDK-Update und Konfliktlรถsung
  • Woche 6: Oracle und Migration der Einsatzlogik zu Terrad
  • Wochen 7-8: Ausfรผhrliche Tests, รœberprรผfung durch die Community und Vorbereitung auf die Bereitstellung des Testnetzes

Phase 2 (voraussichtlich 10 Wochen):

  • Wochen 1-2: Planung der Wasmd-Migration und erste Implementierung
  • Wochen 3-6: Wasmd-Integrations- und Vertragskompatibilitรคtstests
  • Wochen 7-8: Netzwerkweite Tests und Leistungsoptimierung
  • Wochen 9-10: AbschlieรŸende รœberprรผfung, Dokumentation und Vorbereitung fรผr die Testnet-Bereitstellung.

Budget

Beantragtes Gesamtbudget: Die Zahlung wird in zwei Phasen aufgeteilt und รผber zwei separate Ausgabenvorschlรคge beantragt.

Phase 1

Fiat Wert: $16.000 USD

Phase 2

Fiat Wert: $20.000 USD

*Gesamtwert: $36.000 USD*

*Hinweis: Der tatsรคchliche LUNC-Betrag fรผr jede Phase wird anhand des Echtzeitpreises von LUNC berechnet, wenn die einzelnen Ausgabenvorschlรคge eingereicht werden.

KYC-Zertifizierung

GemรครŸ Vorschlag #12129 mรผssen รœberprรผfungen, die den Code in den Terra Classic Repositories genehmigen, von KYC-รผberprรผften Personen durchgefรผhrt werden. OrbitLabs wird von sollidproof.io kycisiert.

https://github.com/solidproof/Projects/blob/main/2024/Kien/KYC_Certificate_SolidProof_Individual_Kien.jpg
https://github.com/solidproof/Projects/blob/main/2024/Tien/KYC_Certificate_SolidProof_Individual_Tien.jpg
https://github.com/solidproof/Projects/blob/main/2024/Tuan%20Tran%20/KYC_Zertifikat_SolidProof_Einzelperson_TuanTran.jpg

Update zum Fortschritt

Wir werden wรคhrend des gesamten Projekts wรถchentlich bis zweiwรถchentlich Fortschrittsberichte verรถffentlichen, um Transparenz zu gewรคhrleisten und die Terra Classic Community รผber alle Entwicklungen zu informieren. Um das Engagement zu maximieren und Echtzeit-Updates zu liefern, werden wir mehrere Kommunikationskanรคle nutzen, wie unten beschrieben:

Twitter Updates

  • Wir werden Sie regelmรครŸig รผber unsere offizielle Website [Twitter account] (https://twitter.com/orbit__labs) informieren. Diese Updates werden die wichtigsten Meilensteine, den Entwicklungsfortschritt, aufgetretene Herausforderungen und eventuelle Anpassungen des Zeitplans umfassen. Twitter wird auch als Plattform fรผr die Beantwortung von Anfragen aus der Community und fรผr kurze Updates dienen.
  • Zusรคtzlich zu den projektspezifischen Updates werden wir allgemeine Informationen รผber Blockchain-Entwicklungen und Governance-Diskussionen im Zusammenhang mit Terra Classic bereitstellen.

GitHub Commits

  • Alle Codeรคnderungen werden in unseren offiziellen GitHub-Repositories รถffentlich zugรคnglich sein. Jeder Commit wird von einer detaillierten Commit-Nachricht begleitet, in der der Umfang der ร„nderung, die Grรผnde fรผr die ร„nderung und alle damit verbundenen technischen รœberlegungen erlรคutert werden.
  • Pull Requests (PRs) werden von einer umfassenden Dokumentation begleitet und stehen der Community zur รœberprรผfung offen. Wir ermutigen die Entwickler der Community, sich an den Diskussionen รผber diese PRs zu beteiligen, um maximale Transparenz und Zusammenarbeit zu gewรคhrleisten.

AMAs der Gemeinschaft

  • An wichtigen Meilensteinen (wie z.B. dem Abschluss wichtiger Phasen) werden wir Ask Me Anything (AMA)-Sitzungen veranstalten. Diese werden der Community die Mรถglichkeit geben, Fragen direkt an das Entwicklungsteam zu stellen.
  • Die AMAs werden auf Twitter Spaces veranstaltet. Wir werden die AMAs im Voraus รผber Twitter ankรผndigen, und alle wichtigen Erkenntnisse aus diesen Sitzungen werden in den Updates nach der AMA zusammengefasst.

Medium/HackMD Blog-Beitrรคge:

Fรผr ausfรผhrlichere, detailliertere Updates werden wir regelmรครŸig Blogbeitrรคge auf Medium/HackMD verรถffentlichen. Diese Artikel werden als umfassende Berichte dienen, die Projektรผbersichten, technische Herausforderungen, Lรถsungen und zukรผnftige Plรคne enthalten.

Fazit

Indem wir die geforkten Mainline-Module entfernen, wollen wir Terra Classic fรผr langfristige Nachhaltigkeit und Wachstum innerhalb des Cosmos-ร–kosystems positionieren. Wir glauben, dass dieser Ansatz die Notwendigkeit von Verbesserungen mit einem umsichtigen Risikomanagement und der Einbindung der Community in Einklang bringt.
Wir begrรผรŸen das Feedback und die Diskussion der Terra Classic Community zu diesem Vorschlag.

Details

  • Autoren :OrbitLabs
  • Vorschlag Forum Link : https://commonwealth.im/terra-luna-classic-lunc/discussion/24923-proposal-removal-of-forked-modules-from-terra-classic

Vote_option_context

  • Ja: Unterstรผtzen Sie den Vorschlag von OrbitLabs, geforkte Module aus der Terra Classic Codebasis zu entfernen.
  • Nein: Widersetzen Sie sich dem Vorschlag von OrbitLabs, geforkte Module aus der Terra Classic Codebasis zu entfernen.
  • Enthaltung: Sie haben keine starke Meinung und akzeptieren die Entscheidung der Mehrheit.
  • Nein mit Veto: Sie glauben, dass dieser Vorschlag schรคdlich ist und nicht umgesetzt werden sollte.
Was this article helpful?
YesNo
E-mail
Password
Confirm Password
QuoraTelegram