Kernpunkte
- Anchor strukturiert Solana-Programme in Rust und generiert Schnittstellen für ihre Clients.
- Account-Validierungen helfen, Berechtigungen und Beziehungen zwischen Daten abzubilden.
- Die Constraints eines Programms müssen getestet werden; das Framework ersetzt kein Sicherheitsreview.
Was ist Anchor?
Anchor ist ein Framework zur Entwicklung von Solana-Programmen in Rust. Es stellt Konventionen, Makros und Werkzeuge bereit, um Instruktionen, Accounts und Fehler zu beschreiben und eine Schnittstelle zu erzeugen, die Client-Anwendungen nutzen können. Es erleichtert wiederkehrende Aufgaben, ohne das Berechtigungsdesign des Programms zu ersetzen.
Solana trennt Logik und Daten-Accounts. Ein Programm muss prüfen, dass es die richtigen Accounts erhält und dass der Signierende zur angeforderten Aktion berechtigt ist. Anchor hilft, diese Bedingungen auszudrücken, doch das Team muss festlegen, welche erforderlich sind.
So funktioniert es
Account-Constraints erlauben die Prüfung von Eigenschaften wie Owner, Signer, Adresse und Ableitung einer PDA. Die Instruktion führt anschließend die Geschäftslogik auf den zugelassenen Accounts aus. Das Weglassen einer relevanten Constraint kann eine Operation zulassen, die kompiliert und ausgeführt wird, aber einen vom Design nicht vorgesehenen Account verwendet.
Die IDL beschreibt die Schnittstelle des Programms. Der Client muss IDL, Programm-ID und deployte Version konsistent halten. Aufrufe anderer Programme, sogenannte CPI, erfordern die Prüfung von Zielen und Autorisierungen; eine Integration wird nicht allein dadurch sicher, dass sie Makros des Frameworks verwendet.
Was Anchor leistet
In einem Einlagenregister kann eine PDA den zu einem Vorgang gehörenden Zustand identifizieren. Das Programm prüft, wer einzahlen, abheben oder den Account schließen darf und wie die Beträge geführt werden. Die Tests umfassen ausgetauschte Accounts, fehlende Signaturen, falsche Seeds und fehlschlagende externe Aufrufe.
Der Auslieferungsprozess fixiert die Versionen von Anchor und des Solana-SDK, kompiliert das Programm und verifiziert sein Verhalten in einer geeigneten Testumgebung. Er dokumentiert außerdem Upgrade Authority, Account-Größen und Ressourcen. Diese Angaben ermöglichen es, das Deployment zu pflegen und Änderungen vorzubereiten, ohne auf implizite Annahmen angewiesen zu sein.
Grenzen und Auswahlkriterien
Anchor reduziert wiederkehrende Arbeit, verhindert aber keine Fehler in Constraints, Berechnungen oder Autorisierungslogik. Die Kosten für Speicher und Ausführung werden anhand der tatsächlichen Accounts und Instruktionen geschätzt; ein pauschaler SOL-Betrag pro Programm beschreibt nicht alle Deployments.
Vor der Einführung werden Bibliotheken, Client-Kompatibilität und Testwerkzeuge geprüft. Ein Update kann Formate oder APIs ändern und erfordert die Prüfung der gesamten Integration. Die Alternative, Programme ohne Anchor zu schreiben, bietet ein anderes Maß an Kontrolle, verlagert aber auch mehr Validierung und Serialisierung in den eigenen Code.
Auch bekannt als
- Anchor framework
- Anchor lang
- Coral Anchor





