Tipps zur BalancerV1-Integration

Dec 22 2022
Grüße liebe Leser! Wir setzen unsere Reihe lehrreicher Beiträge mit einigen speziellen Empfehlungen für Entwickler fort, die die Balancer V1-Integration nutzen. Wir glauben, dass niemand daran zweifelt, dass die Grundlage jeder sicheren Integration ein spezieller Ansatz beim Schreiben von Code ist.
Quelle

Grüße liebe Leser! Wir setzen unsere Reihe lehrreicher Beiträge mit einigen speziellen Empfehlungen für Entwickler fort, die die Balancer V1 -Integration nutzen.

balancer.fi

Wir glauben, dass niemand daran zweifelt, dass die Grundlage jeder sicheren Integration ein spezieller Ansatz beim Schreiben von Code ist . Daher konzentriert sich dieser Artikel nur auf die Aspekte, die wirklich nützlich sein können, um Ihren Code sicher und geschützt zu machen !

Schauen Sie sich unseren vorherigen Artikel an:

  • Besuchen Sie unseren Blog!

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!

Ü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 .

I – Balancer.fi Komplettlösung

Sie fragen sich, was Balancer ist ? Kurz gesagt, Balancer ist einer der beliebtesten automatisierten Market Maker ( AMMs ) und dezentralen Börsen im Ethereum-Netzwerk !

Balancer-Pools verstehen

Darin können Benutzer letztendlich Pools mit zwei oder mehr Krypto-Assets ihrer Wahl erstellen. Ähnlich wie andere namhafte AMMs leitet Balancer seine Geschäfte über alle erforderlichen Liquiditätspools weiter, um den Benutzern die besten Zinssätze zu sichern.

Schauen Sie sich diese Ressource an, besuchen Sie ihren Blog und andere offizielle Kanäle:

  • Live im Mainnet seit 26. Februar 2020
  • Dokumente
  • Weißes Papier
  • Twitter
  • Webseite
Was ist Balancer? Der komplette Leitfaden

In diesem Artikel stellen wir Tipps vor, die wir aus fast zwei Jahren Prüfung der Balancer V1-Integrationen in DeFi-Protokolle gewonnen 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 .

Lass uns anfangen! Wir hoffen, dass Sie den heutigen Artikel informativ und hilfreich finden!

II – Wir empfehlen

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

  • Der Poolvertrag speichert den Gebührenprozentsatz in einer Variablen. Dieser Wert sollte nicht zwischengespeichert werden, um Gas zu sparen, da der Poolbesitzer ihn jederzeit ändern kann!
  • Wenn pool.getOwner() jedoch address(0) zurückgibt , ist die Poolprovision statisch.
  • Es ist äußerst ineffizient, wenn das integrierende Protokoll nur einzelne Swaps ( Vault.swap ) verwendet . Bei der Integration sollte das Protokoll Batch- Swaps verwenden, da diese im Allgemeinen günstiger sind als einzelne Swaps und mehr potenzielle Paare eröffnen – manchmal gibt es einfach keinen Pool mit zwei ausgewählten Token.
  • Für Pools mit TWAP- Funktionalität ( Weighted2Tokens und MetaStablePool ) sollten Sie die Funktion pool.getLatest() nicht verwenden , da sie auf aktuellen Reserven basiert, die leicht manipuliert werden können . Verwenden Sie stattdessen pool.getTimeWeightedAverage() !
  • Vault-Abfragen ( queryBatchSwap , queryJoin , queryExit ) können nicht zum Berechnen von Grenzwerten (Maximal- oder Minimalwerten) in derselben Transaktion verwendet werden, in der Swap (Pool-Eintritt oder -Austritt) ausgeführt wird, da diese Transaktion sonst anfällig für Sandwich-Angriffe ist und die Abfrage Werte zurückgibt basierend auf der Transaktion des Angreifers.
  • Darüber hinaus können Swap-Transaktionen anderer Benutzer den Preis erheblich beeinflussen (Slippage) , und die Abfrage in derselben Transaktion mit einem Swap schützt nicht davor!
  • Bei der Interaktion mit Pools über Vault wird bytes32 pool_id übergeben – und es ist wichtig zu beachten, dass dies nicht die Pooladresse ist, die in bytes32 konvertiert wird . Die On-Chain-ID muss über pool.getPoolId() abgerufen werden .
  • Die Gewichte der Token in einem Pool werden mit 10¹⁸ skaliert . Für ein Gewicht von 80 % wird wie folgt ein Wert von 0,8*10¹⁸ gespeichert . Bei Berechnungen mit Gewichten sollte man nicht vergessen , durch den Modifikator 10¹⁸ zu dividieren , sofern dieser bei der Division zweier Gewichte nicht reduziert wird.
  • Bei der Berechnung des Ausgabewerts bei einem Swap muss der Eingabewert die Poolgebühren enthalten. Wir würden an dieser Stelle auch vorschlagen, darüber nachzudenken, wie man minReturn beim Aufruf der Funktion angibt (von welchem ​​Token die Gebühr abgezogen wird, zu welchem ​​Zeitpunkt usw.).

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!

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

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?

Schauen Sie sich unseren vorherigen Artikel an:

  • Besuchen Sie unseren Blog!

Bleib sicher!