
So nutzt du KI zum Entwickeln von Solana-Apps
Inhaltsverzeichnis
Wir haben kürzlich eine Suite von Tools veröffentlicht, mit denen du Solana-Apps mit KI entwickeln kannst:
- Helius CLI
- Helius MCP
- Helius Skills
- Helius Claude Code Plugin
Weitere Informationen findest du in unserer Ankündigung zu Helius for Agents.
Künstliche Intelligenz (KI) verändert, wie wir Software entwickeln.
Sie kann Fehler erkennen und beheben, neue Funktionen erstellen und lästige Routineaufgaben übernehmen. Tools wie Copilot und Cursor machen das Programmieren schneller und weniger mühsam. Mit Solana funktionieren sie jedoch nicht immer gut.
Die Architektur von Solana unterscheidet sich von den meisten Blockchains. Solana verarbeitet Transaktionen parallel, verwendet Accounts statt eines vertragsinternen Zustands und nutzt programabgeleitete Adressen (PDAs) für zusätzliche Sicherheit.
Wenn du unsere Blogbeiträge gelesen hast, weißt du: Die Entwicklung auf Solana unterscheidet sich von Ethereum. Solana bietet hohen Durchsatz und verwaltet Accounts auf besondere Weise. Dieser Unterschied verwirrt KI-Modelle häufig, wenn sie mit anderen Programmiermustern trainiert wurden.
Dieser Artikel erklärt, warum KI manchmal Schwierigkeiten mit Solana hat. Außerdem zeigen wir dir, wie du diese Probleme vermeidest. Wir konzentrieren uns vor allem auf:
- Prompt Engineering: Bessere Anweisungen für KI schreiben.
- Kontextbezogene Eingaben: Details zu deinem Projekt bereitstellen, damit die KI genauere Ergebnisse liefert.
- Iterative Workflows: Code in kleinen Schritten entwickeln. Prüfe und verbessere ihn, bevor du fortfährst.
Egal, ob du neu einsteigst oder bereits Erfahrung hast: Diese Tipps helfen dir, bei der Arbeit mit Solana mehr aus KI herauszuholen.
Herausforderungen bei der Solana-Entwicklung mit KI
Die besondere Architektur und die Anforderungen von Solana können KI vor Probleme stellen. Berücksichtigt die KI sie nicht, verschwendest du Zeit damit, deinen Code zu debuggen oder deine Programme neu zu schreiben. Damit verfehlt KI ihren Zweck, die Entwicklung zu beschleunigen.
Die besondere Architektur von Solana
Solana unterscheidet sich in drei zentralen Punkten:
1. Account-basiertes Modell
Viele Blockchains wie Ethereum verknüpfen Daten direkt mit dem internen Speicher eines Smart Contracts. Das Programmiermodell von Solana organisiert dagegen alles um „Accounts“. Diese Accounts enthalten die Daten, während „Programme“ – das Solana-Pendant zu Smart Contracts – diese Daten ändern und mit ihnen interagieren.
Ein wichtiger Unterschied: Auf Solana ist alles ein Account, sogar die Programme selbst. Programme sind lediglich Accounts, die ausführbare Daten speichern und dadurch Anweisungen verarbeiten können. Ethereum unterscheidet dagegen zwischen extern kontrollierten Accounts (EOAs), die von privaten Schlüsseln gesteuert werden, und Smart Contracts mit eigenem Code und internem Speicher.
Dieser grundlegende Unterschied kann zu Missverständnissen führen, besonders beim Schreiben von Solana-Code. Wie bei Ethereum-Smart-Contracts könnten Entwickler, die das Account-Modell nicht kennen, fälschlich annehmen, dass ein Programm seine Daten besitzen kann. Solche Annahmen können bei der Bereitstellung auf Solana zu Laufzeitfehlern oder Sicherheitslücken führen.
2. Programabgeleitete Adressen (PDAs)
Eine programabgeleitete Adresse (PDA) wird aus einer Programm-ID und einem Seed erzeugt. Mit PDAs können Programme Accounts organisieren, ohne einen privaten Schlüssel zu benötigen. KI-Modelle erkennen den Unterschied zwischen einer Standardadresse und einer PDA jedoch möglicherweise nicht. Wenn sie Seeds nicht korrekt verarbeiten oder die Eigentümerschaft nicht prüfen, ist der Rust-Code für die PDA zwar korrekt, der Solana-Code aber nicht.
3. Parallele Ausführung
Die Laufzeitumgebung von Solana, Sealevel, kann Transaktionen parallel verarbeiten. Herkömmliche Blockchains führen sie dagegen nacheinander aus. Das funktioniert, weil Transaktionen angeben, welche Accounts sie lesen und beschreiben. Anhand dieser Informationen kann Solana bestimmen, welche Accounts gesperrt werden müssen, und viele Transaktionen sicher gleichzeitig ausführen.
KI versteht dieses Modell häufig falsch. Sie könnte annehmen, dass Transaktionen wie in der Ethereum Virtual Machine (EVM) nacheinander ausgeführt werden. Das kann zu Code führen, der die Parallelität nicht nutzt. Da sich das Account-basierte Sperrsystem von Solana vom Ansatz der EVM unterscheidet, schreibt die KI möglicherweise Code mit schlechter Leistung oder Skalierbarkeit.
Häufige Probleme
Bei der Entwicklung von Solana-Apps mit KI treten regelmäßig einige Probleme auf:
1. Fehlerhafter Code
KI kann Funktionen liefern, die in Rust kompilieren, aber nach der Bereitstellung auf Solana fehlschlagen. KI-Pair-Programming-Tools könnten beispielsweise Signer übersehen oder Account-Referenzen falsch interpretieren. Das Ergebnis? Fehler oder Sicherheitslücken, die du erst bei Tests, echten Transaktionen oder einem vollständigen Sicherheitsaudit erkennst.
2. Suboptimaler Code
Selbst wenn der KI-generierte Code funktioniert, ist er möglicherweise nicht für Compute Units optimiert, verlangsamt die Transaktionsverarbeitung oder verursacht versteckte Engpässe. Stell dir vor, eine KI schreibt eine Funktion, die Accounts einzeln aktualisiert. Sie erkennt nicht, dass Solana sie bei korrekter Implementierung gleichzeitig verarbeiten kann.
3. Schwieriges Debugging
KI-Modelle kennen weder deine Ordnerstruktur noch deine benutzerdefinierten Datentypen, sofern du ihnen diese Informationen nicht gibst. Daher schlagen sie möglicherweise Lösungen vor, die deiner bestehenden Struktur widersprechen. Diese Lösungen wieder in dein Projekt zu integrieren, kann mühsam werden.
Veröffentliche Solana-Apps schneller mit den KI-Tools von Helius
Wie oben beschrieben, ist es nicht einfach, mit KI korrekten Solana-Code zu entwickeln.
Deshalb haben wir eine Suite von KI-Entwicklertools für Solana entwickelt, die dir die schwierigen Aufgaben abnimmt: Sie wählt die richtigen Tools aus, wendet Best Practices an und gibt deinem KI-Agenten die nötige Grundlage, um aus einem einzigen Prompt eine produktionsreife App zu erstellen.
Helius MCP Server
Der Helius MCP Server basiert auf Anthropics offenem Standard Model Context Protocol (MCP). Er stellt jedem MCP-kompatiblen Client – darunter Claude Desktop, Cursor, VS Code und Windsurf – mehr als 60 strukturierte Tools wie getBalance, parseTransaction, getAssetsByOwner und createWebhook bereit.
Anstatt rohe curl-Befehle zu erstellen und JSON-Ausgaben zu parsen, führen Agenten typisierte Tool-Aufrufe aus und erhalten direkt strukturierte Antworten. Dadurch wird jede API-Interaktion schneller, zuverlässiger und deutlich weniger fehleranfällig.
Du kannst ihn mit einem einzigen Befehl zu Claude Code hinzufügen:
claude mcp add helius npx helius-mcp@latestHelius Skills
Der Zugriff auf mehr als 60 Tools bringt nichts, wenn ein Agent nicht weiß, wie er sie verwendet.https://www.helius.dev/blog/helius-for-agents#helius-skills-the-brain
Skills sind fachkundige Anweisungssätze: sorgfältig erstellte Prompts mit Routing-Logik und Referenzdateien, die einem Agenten beibringen, wie ein erfahrener Solana-Entwickler zu arbeiten.
Mit einem geladenen Skill weiß ein Agent, dass er für NFT-Abfragen searchAssets statt getProgramAccounts verwenden, Priority Fees dynamisch abrufen und Transaktionen für die höchsten Erfolgsraten über Sender weiterleiten soll.
Wir haben vier Skills veröffentlicht:
- Build – Zentrale Solana-Entwicklung mit allen Helius APIs
- DFlow – Trading-Apps, die DFlow APIs verwenden
- Phantom – Frontends für dApps mit dem Phantom Connect SDK entwickeln
- SVM – Detailliertes Wissen über die internen Abläufe des Solana-Protokolls
Skills sind modellunabhängig und funktionieren mit der OpenAI API, Claude API, Cursor Rules und benutzerdefinierten ChatGPT-Anweisungen.
Wenn du einen Skill beitragen möchtest, fülle bitte dieses Formular aus.
Helius CLI
Die Helius CLI ist eine vollwertige Befehlszeilenschnittstelle mit mehr als 95 Befehlen für Account-Verwaltung, das Senden von Transaktionen, die Verwaltung von Webhooks, Echtzeit-Streaming, Staking, ZK Compression und mehr.
Du kannst sie direkt verwenden oder von deinem Agenten steuern lassen. Jeder Befehl unterstützt die Ausgabe mit --json und strukturierte Exit-Codes. So können Agenten Antworten einfach parsen und Fehler programmgesteuert verarbeiten.
Installiere die Helius CLI wie folgt:
npm install -g helius-cliHelius Claude Code Plugin
Das Claude Code Plugin bündelt Helius MCP, DFlow MCP, alle vier Skills und ausführliche Referenzdateien für jedes Helius-Produkt in einer einzigen Installation. Du musst MCP nicht manuell konfigurieren und Skills nicht separat einrichten.
So installierst du es:
/plugin marketplace add helius-labs/core-ai
/plugin install helius@helius-labsNach der Installation erzeugt bereits ein einzelner Prompt wie „Erstelle eine CLI für Steuerberichte zu diesem Wallet“ eine vollständig funktionsfähige, paginierte CLI-App. Weitere Prompts sind nicht nötig.
Zusammen geben diese Tools KI-Agenten Zugriff auf die nötigen Tools und Fachkenntnisse. So überspringen sie die Trial-and-Error-Phase und liefern bereits mit dem ersten Prompt korrekten, optimierten Solana-Code.
Tipps für die Solana-Entwicklung mit KI
Befolge diese Empfehlungen, um Solana-Apps mit KI zu entwickeln:
1. Beginne mit einem guten Prompt
Ein System-Prompt ist wie die Stellenbeschreibung der KI. Er erklärt der KI ihre Rolle, etwa „Du bist ein Experte für die Solana-Programmierung mit Anchor …“, und legt die Regeln fest, die sie befolgen soll.
Hier ist ein typisches, leicht erweitertes Beispiel:
# You are an expert in Solana program development.
Specializing in building and deploying smart contracts using Rust and Anchor,
and integrating on-chain data with @solana/web3.js.
---
## General Guidelines
- Write secure, efficient, and maintainable code for Solana programs.
- Thoroughly test and audit all programs before deployment.
## Solana Program Development with Rust and Anchor
- Prioritize Rust's safety and performance.
- Use Anchor macros to simplify account management, error handling, and
data serialization.
- Keep code modular and maintain a clear separation between logic and data.
## Security and Best Practices
- Enforce strict access controls--ensure only permitted signers can modify data.
- Use PDAs responsibly: validate seeds and ownership checks to prevent conflicts.
## Performance and Optimization
- Minimize transaction costs by bundling operations efficiently.
- Exploit parallelism--don't serialize steps unnecessarily.
- Regularly benchmark your code to spot and remove performanceWarum das funktioniert
Ein gut formulierter System-Prompt dient als Bauplan und richtet die KI an der Architektur von Solana aus. So ist jede Antwort korrekt, sicher und auf deine Anforderungen zugeschnitten.
- Schafft den richtigen Kontext: Wenn du die KI als „Solana-Experten“ definierst, konzentriert sie sich auf Solana-spezifische Merkmale wie PDAs, Parallelität und Anchor, anstatt allgemeine Annahmen über Blockchains zu treffen.
- Erzeugt konsistenten Code: Best Practices wie strenge Zugriffskontrollen und parallele Ausführung helfen der KI, sichere, zuverlässige und vorhersehbare Ergebnisse zu liefern.
- Vermeidet häufige Fehler: Hinweise auf Rust-Sicherheit, Anchor-Makros und Serialisierung reduzieren Fehler. Das spart dir Zeit beim Debuggen und Neuschreiben von Code.
- Nutzt die Stärken von Solana: Die KI muss die Bandbreite erhöhen und die Latenz verringern. Dadurch optimiert sie den Code für den hohen Durchsatz und die Effizienz von Solana.
2. Formuliere klare Prompts
Wenn du KI Code generieren lässt, zählt Präzision. Je genauer du formulierst, desto besser werden die Ergebnisse. Vergleiche diese Beispiele:
Schlechter Prompt:
„Schreibe eine Funktion zum Initialisieren eines Accounts.“
Dieser Prompt ist zu ungenau. Die KI kennt weder die Programmiersprache noch das Framework oder die Tatsache, dass du Solana-Code benötigst. Sie könnte dir allgemeinen oder unbrauchbaren Code liefern.
Guter Prompt:
„Schreibe mit Anchor eine Rust-Funktion, die einen Solana-Token-Account initialisiert. Verwende eine aus einem Seed abgeleitete PDA. Validiere den Account-Zustand und behandle Fehler, falls der Account bereits initialisiert ist.“
Darum funktioniert der gute Prompt:
Klare Prompts sparen Zeit und Aufwand. Wenn du die Ziele der KI präzisierst, musst du schlampigen, unklaren oder am Ziel vorbeigehenden Code später nicht korrigieren. Du reduzierst außerdem Fehlinterpretationen und arbeitest effektiver mit der KI.
- Er ist klar und direkt: Da du Rust, Anchor und PDAs direkt nennst, weiß die KI genau, welche Tools und Funktionen sie verwenden soll. Sie muss nicht raten und fügt keine irrelevanten Details hinzu.
- Er konzentriert sich auf die Anforderungen von Solana: Die Erwähnung einer PDA weist die KI an, Solana-spezifische Logik einzubeziehen. Andernfalls könnte der Code wichtige Schritte wie die sichere Ableitung von Adressen auslassen.
- Er geht an den richtigen Stellen ins Detail: Die Anweisungen zur Validierung und Fehlerbehandlung bringen die KI dazu, über die Grundlagen hinauszugehen. So funktioniert der Code auch in realen Szenarien.
Ein guter Prompt ist wie eine Karte: Er führt die KI, hilft ihr, Fallstricke zu umgehen, und bringt sie ans Ziel.
3. Stelle den richtigen Kontext bereit
KI funktioniert besser, wenn du ihr den richtigen Kontext gibst. Bei vielen Tools kannst du Code hochladen oder Dateien verknüpfen. So versteht die KI dein Projekt und erstellt Lösungen, die zu deiner Codebasis passen.
Überlade sie aber nicht. Wenn du der KI zu viele Informationen gibst, etwa eine gesamte große Codebasis, kann sie halluzinieren oder irrelevante Antworten liefern.
Konzentriere dich stattdessen auf die relevanten Teile deines Codes. So bleibt die KI fokussiert und liefert bessere Vorschläge.
Stell dir zum Beispiel vor, deine App enthält bereits eine Datei, die eine benutzerdefinierte Datenstruktur definiert:
#[account]
pub struct TokenAccount {
pub balance: u64,
pub is_initialized: bool,
// ... more fields
}Wenn du diese Datei hochlädst oder deiner Eingabe hinzufügst, kann die KI in ihrem generierten Code deine exakten Feldnamen (balance, is_initialized) verwenden.
Außerdem kann sie ihre Vorschläge an die Struktur und Konventionen deines Projekts anpassen.
Darum hilft Kontext
- Erhöht die Genauigkeit: Ohne Kontext könnte die KI Feldnamen erraten, unnötige Änderungen einführen oder falsche Datentypen voraussetzen. Sie könnte dein Saldo-Feld beispielsweise amount nennen oder f64 statt u64 verwenden. Wenn du die tatsächliche Struktur bereitstellst, entfällt dieses Rätselraten.
- Hält den Code konsistent: Wenn die KI deine Namenskonventionen kennt, erzeugt sie Code, der sich nahtlos in dein Projekt einfügt. So musst du keine Variablen umbenennen oder Code an deine vorhandenen Muster anpassen.
- Reduziert den Integrationsaufwand: Kennt die KI deine Account-Strukturen, kann sie ihre Ausgabe direkt darauf abstimmen. Dadurch vermeidest du Situationen, in denen KI-generierter Code umfassend umgeschrieben werden muss, um zu deiner bestehenden Logik zu passen.
Beispiel: So verbessert zusätzlicher Kontext die KI-Ausgabe
Ohne den richtigen Kontext könnte ein Prompt wie „Schreibe eine Funktion, die den Saldo des Token-Accounts aktualisiert“ zu folgendem KI-generierten Code führen:
pub fn update_balance(ctx: Context<UpdateAccount>, amount: f64) -> Result<()> {
let account = &mut ctx.accounts.token_account;
account.amount += amount;
Ok(())
}Dieser Code hat zwei Probleme:
Erstens verwendet er für amount f64 statt u64.
Solana unterstützt native Gleitkommaarithmetik nur sehr eingeschränkt. Verwende vorzugsweise Festkommaarithmetik und skaliere Zahlen anhand der verwendeten Dezimalstellen. So vermeidest du Leistungs- und Kompatibilitätsprobleme.
Zweitens nennt der Code das Saldo-Feld amount, was nicht deiner Struktur entspricht. Das kann später zu Verwirrung und Fehlern führen.
Wenn du nun deine TokenAccount-Struktur als Kontext bereitstellst, könnte die KI stattdessen Folgendes erzeugen:
pub fn update_balance(ctx: Context<UpdateAccount>, amount: u64) -> Result<()> {
let token_account = &mut ctx.accounts.token_account;
token_account.balance += amount;
Ok(())
}Diese Ausgabe passt deutlich besser zu deinem Projekt.
Trotz dieser Verbesserung solltest du die Operation token_account.balance += amount um eine Überlaufprüfung ergänzen, damit dein Code robust und sicher ist.
So stellst du Kontext bereit
Befolge diese Schritte, um deinen KI-Tools den richtigen Kontext zu geben:
- Dateien hochladen: Wenn dein KI-Tool dies unterstützt, lade deine Strukturdefinitionen, Account-Schemas und andere Projektdateien hoch.
- Code in Prompts referenzieren: Kopiere relevante Ausschnitte in deine Prompts, damit die KI sie als Referenz verwenden kann.
- Struktur beschreiben: Wenn du keine Dateien hochladen kannst, beschreibe deine Daten klar im Prompt. Zum Beispiel: „Ich habe eine Struktur namens TokenAccount mit den Feldern balance (u64) und is_initialized (bool).“
4. Baue auf bestehendem Code auf
Du musst nicht jedes Mal bei null anfangen. Oft hast du bereits funktionierenden Code, den du verbessern könntest. KI kann dir dabei helfen. Hier ist ein Beispiel:
Das ist der ursprüngliche Code:
pub fn create_token_account(ctx: Context<CreateAccount>) -> Result<()> {
let token_account = &mut ctx.accounts.token_account;
token_account.balance = 0;
Ok(())
}Dieser Code initialisiert einen Token-Account und setzt den Saldo auf null. Er ist einfach, berücksichtigt aber weder die Aktualisierung eines bestehenden Accounts noch die Prüfung der Eigentümerschaft.
Dein Prompt:
„Mache diese Funktion robuster. Wenn der Token-Account vorhanden ist, addiere den Betrag zum Saldo. Initialisiere ihn andernfalls mit einem bestimmten Betrag. Stelle außerdem sicher, dass der Account dem aktuellen Programm gehört.“
Das ist der von der KI nach deinem Prompt generierte Code:
pub fn create_or_update_token_account(
ctx: Context<CreateAccount>,
amount: u64
) -> Result<()> {
let token_account = &mut ctx.accounts.token_account;
// Check ownership
if token_account.owner != ctx.program_id {
return err!(ProgramError::IncorrectProgramId);
}
// Update or initialize
if token_account.is_initialized {
token_account.balance += amount;
} else {
token_account.balance = amount;
token_account.is_initialized = true;
}
Ok(())
}Warum das funktioniert
- Berücksichtigt häufige Szenarien: Der neue Code verarbeitet initialisierte und nicht initialisierte Accounts und ist dadurch in echten Anwendungen nützlicher.
- Validiert die Eigentümerschaft: Das verhindert unbefugte Änderungen, da das Programm prüft, ob ihm der Account gehört.
- Macht die Funktion intelligenter: Die Funktion kann den Saldo jetzt aktualisieren, statt ihn jedes Mal auf null zurückzusetzen. Das vermeidet Redundanz und eignet sich besser für reale Anwendungsfälle.
- Spart Zeit: Du musstest nicht die gesamte Funktion neu schreiben. Die KI hat deinen bestehenden Code erweitert. So kommst du schneller von einer einfachen zu einer robusten Funktion.
So nutzt du diesen Ansatz
Befolge diese Schritte, wenn du diesen Ansatz künftig verwendest:
- Beginne mit einer funktionierenden Basis: Suche Funktionen oder Ausschnitte, die funktionieren, aber verbessert werden könnten.
- Formuliere deinen Prompt präzise: Erkläre, was du verbessern möchtest, etwa Fehlerprüfungen, die Behandlung von Grenzfällen oder die Logik.
- Prüfe die Vorschläge der KI: Kontrolliere, ob die KI-generierte Ausgabe zu deinem Projekt passt und die Best Practices von Solana befolgt.
- Iteriere nach Bedarf: Wenn die erste Ausgabe nicht perfekt ist, passe deinen Prompt oder den Code an, um deinem Ziel näherzukommen.
5. Arbeite Schritt für Schritt
Wenn du Code schrittweise entwickelst, vermeidest du Fehler und verbesserst deine Arbeit fortlaufend. Versuche nicht, sofort eine komplexe Funktion zu erstellen. Teile sie stattdessen in kleinere Aufgaben auf. So kannst du jeden Teil einfacher testen und verbessern, bevor du fortfährst.
Beispiel-Workflow
Fangen wir klein an. Bitte die KI um eine einfache Funktion, die aus einem Seed eine programabgeleitete Adresse (PDA) berechnet.
Hier ist ein Beispiel-Prompt:
„Schreibe eine Rust-Funktion, die mit Anchor aus einem Seed und einer Programm-ID eine PDA berechnet.“
Ausgabe der KI:
pub fn find_pda(seed: &[u8], program_id: &Pubkey) -> Pubkey {
Pubkey::create_program_address(&[seed], program_id).unwrap()
}Das ist ein guter Ausgangspunkt, aber noch nicht vollständig. Ergänzen wir eine Fehlerbehandlung.
Prüfe den Code und finde Probleme. Die Verwendung von unwrap() kann das Programm beispielsweise zum Absturz bringen, wenn der Seed ungültig ist.
Fordere die KI auf, das zu beheben:
„Ergänze diese Funktion um eine Fehlerbehandlung für ungültige Seeds. Gib ein Result zurück, statt den Wert mit unwrap zu entpacken.“
Aktualisierter Code:
pub fn find_pda(seed: &[u8], program_id: &Pubkey) -> Result<Pubkey, ProgramError> {
Pubkey::create_program_address(&[seed], program_id)
.map_err(|_| ProgramError::InvalidSeeds)
}Die Funktion behandelt ungültige Seeds jetzt kontrolliert und gibt einen Fehler zurück, statt eine Panic auszulösen.
Als Nächstes integrieren wir die Funktion.
Bitte die KI, die PDA-Funktion in einer größeren Routine zu verwenden. Zum Beispiel:
„Schreibe eine Funktion, die mit dieser PDA einen neuen Token-Account erstellt. Validiere, dass die PDA noch nicht verwendet wird.“
Das ist die Ausgabe der KI:
pub fn create_token_account(ctx: Context<CreateAccount>, seed: &[u8], amount: u64) -> Result<()> {
let program_id = ctx.program_id;
let pda = find_pda(seed, &program_id)?;
if ctx.accounts.token_account.key != pda {
return Err(ProgramError::InvalidSeeds);
}
if !ctx.accounts.token_account.is_initialized {
let token_account = &mut ctx.accounts.token_account;
token_account.balance = amount;
token_account.is_initialized = true;
}
Ok(())
}Dieser Schritt integriert die PDA-Logik in die Account-Erstellung und stellt gleichzeitig sicher, dass die PDA nicht fälschlich wiederverwendet wird.
Jetzt optimieren und finalisieren wir den Code. Bitte die KI, die Funktion mit einem Prompt wie diesem weiter zu verbessern:
„Optimiere diese Funktion, um die Transaktionskosten zu minimieren, und ergänze eine Validierung der Eigentümerschaft.“
Das ist die Ausgabe der KI:
pub fn create_token_account(ctx: Context<CreateAccount>, seed: &[u8], amount: u64) -> Result<()> {
let program_id = ctx.program_id;
let pda = find_pda(seed, &program_id)?;
if ctx.accounts.token_account.key != pda || ctx.accounts.token_account.owner != program_id {
return Err(ProgramError::IncorrectProgramId);
}
if !ctx.accounts.token_account.is_initialized {
let token_account = &mut ctx.accounts.token_account;
token_account.balance = amount;
token_account.is_initialized = true;
}
Ok(())
}Die fertige Funktion ist jetzt effizient, sicher und entspricht den Best Practices von Solana.
Warum dieser Ansatz funktioniert
- Hält die Aufgaben überschaubar: Wenn du dich jeweils auf eine kleine Aufgabe konzentrierst, überforderst du die KI nicht. Jeder Schritt baut auf dem vorherigen auf und lässt sich dadurch leichter testen und verbessern.
- Erkennt Fehler frühzeitig: In kleineren Schritten findest du Probleme, bevor sie den restlichen Code beeinträchtigen. Wenn du beispielsweise früh eine Fehlerbehandlung ergänzt, verhinderst du spätere Abstürze.
- Fördert Iterationen: Wenn etwas nicht perfekt funktioniert, kannst du die Funktion anpassen, ohne die gesamte Codebasis zu überarbeiten.
- Erzeugt besseren Code: Jede Verbesserung macht den Code robuster. Am Ende erhältst du eine zuverlässigere und leichter wartbare Lösung.
So nutzt du diesen Ansatz
Beachte diese Tipps beim nächsten Pair Programming mit KI:
- Teile Aufgaben in kleinere Schritte auf: Fordere nicht eine einzige komplexe Funktion an. Teile sie in einfachere, überschaubare Aufgaben auf und bearbeite sie nacheinander.
- Teste die Ergebnisse nach jedem Schritt: Führe den Code nach jeder Änderung aus, um seine Funktion zu bestätigen. Wenn er nicht funktioniert, behebe das Problem oder passe den Prompt an, bevor du zum nächsten Schritt übergehst.
- Verbessere den Code fortlaufend: Beschränke dich nicht auf ein einziges Ergebnis. Bitte die KI um Optimierungen oder Funktionen wie Validierungen, Leistungsverbesserungen oder eine bessere Fehlerbehandlung.
Fazit
KI kann beim Entwickeln auf Solana enorm leistungsfähig sein, wenn du sorgfältig und überlegt vorgehst. Die Architektur von Solana unterscheidet sich von anderen Blockchains: Sie nutzt PDAs, parallele Transaktionsverarbeitung und ein Account-basiertes Design. Deshalb musst du die KI richtig anleiten.
Beginne mit klaren Prompts. Teile der KI genau mit, was du möchtest, und nenne Tools wie Rust, Anchor und PDAs ausdrücklich. Ein guter Prompt könnte so lauten:
„Schreibe eine Rust-Funktion, die einen Solana-Token-Account mit einer PDA initialisiert, den Account-Zustand validiert und Fehler behandelt.“
Durch diese Klarheit kann die KI eher Code erzeugen, der auf Solana funktioniert.
Stelle immer Kontext bereit. Teile den Code deines Projekts oder erkläre die verwendeten Strukturen wie Account-Schemas oder Datentypen. Wenn du beispielsweise eine TokenAccount-Struktur hast, gib ihre Details an, damit die KI ihre Ausgabe darauf abstimmen kann. Überfordere sie aber nicht. Konzentriere dich auf relevante Teile, damit ihre Vorschläge präzise und nützlich bleiben.
Teile Aufgaben in kleinere Schritte auf. Verbessere den Code in einem iterativen Prozess. Beginne mit einfachen Aufgaben wie dem Berechnen einer PDA und ergänze anschließend Fehlerbehandlung oder Account-Validierung. Teste nach jedem Schritt. So erkennst du Probleme frühzeitig und kommst kontinuierlich voran.
Prüfe die Arbeit der KI abschließend sorgfältig. KI-generierter Code enthält häufig kleinere Probleme wie fehlende Überlaufprüfungen oder ausgelassene Validierungen. Stelle sicher, dass die Ausgabe die Regeln von Solana befolgt, fehlerfrei bleibt und die Möglichkeiten der parallelen Ausführung nutzt.
Die KI ist nur ein Ausgangspunkt. Du musst die Arbeit abschließen. Mit klaren Anweisungen, Kontext, schrittweiser Entwicklung und sorgfältiger Prüfung kannst du KI nutzen, um sichere und optimierte Solana-Programme zu erstellen. Bleib am Prozess beteiligt. Dann wird KI zu einem wertvollen Tool, das dir Zeit spart und dir hilft, besseren Code zu schreiben.
Weiterführende Literatur
In diesen Ressourcen erfährst du mehr über die Entwicklung mit KI auf Solana:
Ähnliche Artikel
Helius abonnieren
Bleib bei der Solana-Entwicklung auf dem Laufenden und erhalte Updates, wenn wir neue Beiträge veröffentlichen


