Fragen und Antworten

Best Practice für Solana/Anchor-Autorisierung für ein modulares Multiprogrammsystem (gemeinsame Rollen zwischen Programmen, CPI)

Textgröße

Repo scheint privat zu sein: Jede der Optionen hat ihre Vor- und Nachteile. Sie können also eine Hybrid-Implementierung zur Abhilfe erstellen. Hier sind einige der Multiprogrammanwendungen, die Sie übernehmen können:

Marinade Finance: verwendet ein Single-Core-Programm + Satellitenprogramme für bestimmte Domänen. Sie können überprüfen, wie sie mit Verwaltungsbefugnissen im Vergleich zu Betriebsbefugnissen umgehen (das Kernprogramm verfügt über einen Multisig des Rates als Administrator, aber einen PDA für Stake-Retract-Operationen). Außerdem ist das Empfehlungsprogramm ein Wrapper, der CPIs in das Hauptprogramm einbindet

Marginfi: nutzt gruppenbasierte Isolation mit gemeinsam genutztem Programm

Ellipsis Labs: Verwendet Kernprogramm + Hilfsprogramme, die CPI in den Kern integrieren. Der Phoenix-v1 ist das Kern-Orderbuch, in das der Sitzmanager und der Market Maker den CPI einprogrammieren

Häufige Fallstricke:

Der aufrufenden Programm-ID blind vertrauen – Nur weil ein CPI von Programm X stammt, heißt das nicht, dass Programm X den Benutzer überprüft hat. Überprüfen Sie die relevanten Unterzeichner immer erneut. Vergessen Sie, dass PDAs den Unterzeichnerstatus nicht über Anweisungen hinweg beibehalten – Ein PDA, der in Anweisung 1 signiert hat, ist nicht automatisch ein Unterzeichner in Anweisung 2, es sei denn, Sie CPI mit invoke_signed erneut. Zentralisierte Upgrade-Autorität – Wenn alle Programme eine Upgrade-Autorität teilen, ist Ihre Modularität diesillusorisch. Betrachten Sie Multisigns.

Weiter erkundenDatenkatalogSuchen