CurveV1-Integrationstipps

Feb 19 2023
Grüße liebe Leser! Wir setzen unsere Reihe lehrreicher Beiträge mit einigen besonderen Empfehlungen für Entwickler fort, die die CurveV1-Integration von Curve.fi verwenden! Ich frage mich, was Curve ist.

Grüße liebe Leser!

Wir setzen unsere Reihe lehrreicher Beiträge mit einigen besonderen Empfehlungen für Entwickler fort, die die CurveV1- Integration von Curve.fi verwenden !

Sie fragen sich, was Curve.fi ist ? Schauen Sie sich diese Ressource an , besuchen Sie den Community- Blog von Curve auf SubStack , YouTube und den offiziellen Kanälen !

Kurz gesagt, dies ist eines der am häufigsten verwendeten DeFi- Protokolle; Verschiedene Web3- Teams nutzen es, um es in ihre eigenen Projekte zu integrieren, und wenn es falsch gemacht wird, kann es zu Angriffen und Verlusten von Benutzergeldern führen, was niemals zugelassen werden sollte.

Wir verstehen und respektieren Ihre begrenzte Zeit, deshalb haben wir einen speziellen Spickzettel mit nichts Überflüssigem nur für Sie erstellt! Hör zu!

I. Einleitung

Wenn man sich die nicht enden wollenden Hacks dieses Monats ansieht , fragt man sich, warum sie so häufig vorkommen . Sind Wirtschaftsprüfungsgesellschaften in ihrer Arbeit tatsächlich schlechter geworden ? Dies ist meiner Meinung nach nicht der Fall; Dennoch ist das Thema ziemlich heikel, da Sie die Risiken für sich und Ihr Projekt in gewisser Weise reduzieren können!

Wenn wir mit einem solchen Problem konfrontiert werden, müssen wir es nur logisch angehen – mit anderen Worten: Wie können wir diese ungünstige Situation beeinflussen?

Erstens könnten wir unsere metaphysische Verteidigungsmauer so konstruieren, dass sie bereits auf den laufenden Angriff reagiert. Dieses Konzept ist fest mit Threat Modeling verbunden .

Wir arbeiten übrigens im Team an einer solchen Lösung und hoffen, diese in Kürze liefern zu können!

Zweitens können wir danach streben, eine Verteidigungslinie aufzubauen, die bereits vor möglichen Ereignissen funktioniert, das heißt, wir erstellen zuerst den Code und führen alle Aktivitäten angemessen und sicher durch. Dies ist, was wir in diesem Beitrag über die Verwendung von CurveV1 in Ihrem Projekt behandeln!

In diesem Artikel stellen wir auch Tipps vor, die wir im Laufe der Jahre bei der Prüfung solcher Integrationen gesammelt haben . Außerdem finden Sie eine Liste von Tools und Recherchen zum Selbststudium. Wir empfehlen Ihnen dringend, diese zum besseren Verständnis separat zu lesen.

Zuallererst möchten wir den Curve.fi- Designern, allen, die es unterstützen, den Autoren aller Ressourcenmaterialien und natürlich unseren Teamprüfern , die uns mit dringend benötigten Informationen unterstützt haben , unseren herzlichen Dank aussprechen Informationen und den Schleier der Geheimhaltung durchbrechen!

Retrospektive

Ich möchte diese Gelegenheit auch nutzen, um den Genossen von LobsterDAO zu danken (dies ist der beste Chat in meiner Liste und Sovs Kompendium ; ihr Twitter ), deren Name von der Curve-Bereitstellung während des DeFi-Sommers 2020 stammt . Lesen Sie hier mehr über diese Geschichte und hier .

Ich möchte darauf hinweisen, dass der Autor dieses Beitrags, Ihr bescheidenster Diener , erstaunt darüber war, wie groß das Projekt geworden ist und dass es in dem Chatroom begann , in dem ich zufällig Administrator bin; Es ist fantastisch, dass die Geschichte heutzutage auf Web3 greifbarer wird!

Zurück zu unserem Hauptthema: Dieser Artikel konzentriert sich nur auf die Aspekte, die für Auditing und Bug-Bounty-Hacking wirklich nützlich sein können und die nirgendwo beschrieben werden . Wir können mit Sicherheit sagen, dass solche Tipps an einigen Stellen öffentlich gelesen werden können, und unser Blog ist einer dieser Orte!

Wir hoffen auch, dass Sie den heutigen Artikel informativ und hilfreich finden!

Übrigens gibt es derzeit noch einige freie Plätze. Wenn Ihr Projekt also eine Prüfung benötigt, können Sie uns gerne schreiben und unsere Seite mit öffentlichen Berichten hier besuchen .

II – Wir empfehlen

Wenn Sie die folgenden Tipps befolgen, können Sie die Sicherheit Ihrer Integration erheblich verbessern:

  • Es ist wichtig zu bedenken, dass Komponentenadressen ( Swaps , Metapool- Factory usw.) nicht fest codiert werden können. Stattdessen müssen Sie diese immer über einen AddressProvider beziehen !
  • Registry.Swaps ist eine sehr gasintensive Komponente, insbesondere die Funktionen get_best_rate und Exchange_with_best_rate , daher sollten Sie sie nicht in der Kette verwenden.
  • Es ist besser, Swaps.exchange in Verbindung mit Swaps.get_best_rate zu verwenden, das außerhalb der Kette durchgeführt wird.
  • Sie können nicht erwarten, dass alle Kreditpools (und die entsprechenden DepositZaps- Verträge) dieselbe API implementieren. Beispielsweise gibt es alte und neue DepositZaps , deren Methoden sich in Rückgabewerten oder Argumenttypen unterscheiden können.
  • Außerdem implementieren die alten Kreditpools (und ihre DepositZaps ) einige der Methoden der neueren Pools nicht (z. B. „remove_liquidity_one_coin“ ).
  • Versuchen Sie, Kurvenpools nicht in einer Schleife zu verarbeiten !
  • Sie müssen auch den ABI für jeden Kreditpool separat prüfen!
  • Sowohl in Metapools als auch in Lending- Pools können Swaps in zugrunde liegenden Token und verpackten Versionen ( cTokens in einem Compound- Pool ) durchgeführt werden . Um zugrunde liegende Token auszutauschen, verwenden Sie „exchange_underlying“!

MetaRegistry ist im Wesentlichen ein ultimativer Aggregator von Curve-Pools im Ethereum-Hauptnetz. Dies ist die beste Möglichkeit, Informationen über Pools abzurufen.

MetaRegistry aggregiert Pools seiner untergeordneten Register:

  • (1) StableRegistry – für StableSwap-Pools, erstellt von Curve
  • (2) StableFactory – für vom Benutzer erstellte StableSwap-Pools
  • (3) CryptoRegistry – für CryptoSwap-Pools, erstellt von Curve
  • (4) CryptoFactory – für vom Benutzer erstellte CryptoSwap-Pools

MetaRegistry kennt auch alle Pool-Typen: Meta, Lending, Stable-Swap und Crypto-Swap, vom Benutzer erstellte (Factory-Pools) sowie von Curve selbst erstellte Pools. Es implementiert eine Reihe nützlicher Getter, wie zum Beispiel: get_base_pool(pool), get_underlying_coins(pool), get_coins(pool), get_fees usw.

Der reguläre Registry-Vertrag verfügt über deutlich weniger registrierte Pools als MetaRegistry, daher sollten Sie sich auf Letzteres verlassen. Adressen der eingesetzten Register finden Sie hier!

III – Ressourcen und Tools

Wir empfehlen Ihnen dringend, diese Liste fantastischer Tools und Ressourcen zum besseren Verständnis separat durchzulesen!

Wir verstehen und respektieren Ihre begrenzte Zeit und haben deshalb einen speziellen Spickzettel mit nichts Überflüssigem erstellt, um den Zugriff zu erleichtern! Hör zu!

Das Folgende ist eine Sammlung von Ressourcen, für die der Autor dieser Seite mehr als eine Stunde damit verbracht hat, Daten Link für Link zu sammeln und zu überprüfen:

  • Curve.readthedocs.io/index.html
  • resources.curve.fi/base-features/understanding-curve
  • twitter.com/CurveFinance
  • Kurven-Ökosystem ( 2 )
  • betterprogramming.pub/how-to-integrate-the-curve-fi-protocol-into-your-defi-protocol-e1d4c43f716d
  • github.com/manifoldfinance/curve-integration
  • help.lido.fi/en/articles/5231649-a-guide-to-curve-finance
  • academy.moralis.io/blog/defi-deep-dive-what-is-curve-finance

Schauen Sie sich unseren Artikel mit Tipps zur Gasoptimierung sowie weitere Artikel an !

Welche Instrumente sollten wir überprüfen? Worüber würden Sie gerne lesen?

Bitte hinterlassen Sie Ihre Kommentare, wir beantworten sie gerne und die besten Antworten und Fragen finden Sie möglicherweise im nächsten Artikel!

Pass auf dich auf!