Einführung
Dieser Leitfaden führt dich durch einen KI-gestützten Entwicklungsablauf zum Erstellen einer Token-Swap-UI auf Solana. Das besondere Merkmal ist ein Panel, das die am häufigsten gehandelten Paare des Benutzers anzeigt und sie mit einem Klick auswählen lässt. So entsteht eine personalisierte Benutzererfahrung. Jeder Abschnitt zeigt die genauen verwendeten Prompts, die Ausgabe des Modells und wie wir das Helius AI Toolkit eingesetzt haben. Dieser Leitfaden zeigt die folgenden Technologien:- Phantom Wallet-Integration
- DFlow für Kursangebote und Swaps
- Helius Sender zum schnellen Senden von Transaktionen
- Helius Enhanced Transactions zum Parsen von Transaktionen
Endergebnis

Personalized swap UI with recent pairs panel
Einrichtung
Installiere zunächst das Helius Claude Code Plugin. Führe dann in Claude Code diese beiden separaten Befehle aus:Erster Prompt
Definiere mit diesem Prompt die gesamte UI und ihr Verhalten in einem Durchgang:Prompt
Erstelle eine personalisierte Token-Swap-Oberfläche für Solana.Füge eine Token-Swap-UI im üblichen Stil hinzu: eine zentrierte Box mit zwei Token-Auswahlfeldern und einem Swap-Button.Zeige rechts daneben eine Liste von Token-Paaren an, die der Benutzer direkt auswählen kann. Zeige neben dem Namen jedes Tokens dessen Logo an.Gehe zum Erstellen der Liste so vor: Nachdem ein Benutzer seine Wallet verbunden hat, untersuche seinen Swap-Verlauf und extrahiere die 10 zuletzt verwendeten Handelspaare. Sortiere sie nach der Häufigkeit der Swaps.
- Das grundlegende Layout (Swap-Box + Leiste mit kürzlich verwendeten Paaren)
- Die Personalisierungsregel (Wallet-Verlauf)
- Die Sortierstrategie (Häufigkeit der letzten Nutzung)
Ich erstelle das Grundgerüst des Projekts. Ich erstelle eine Vite-, React- und TypeScript-App mit Phantom-Wallet-Verbindung, DFlow-Swaps über Helius Sender und einem Swap-Verlauf aus der Helius Wallet API.Das ist ein sinnvoller Stack:
- Vite + React + TypeScript für eine moderne, typsichere UI
- Phantom zum Verbinden der Wallet und Signieren
- DFlow für die besten Kursangebote
- Helius APIs für den Wallet-Verlauf
- Helius Sender zum Senden von Transaktionen
.env-Datei mit unserem Helius API key hinzuzufügen. Danach starteten wir die App mit npm run dev:

Initial version of the app
Fehlende kürzlich verwendete Paare
Nachdem wir unsere Wallet verbunden hatten, stellten wir fest, dass im Panel für kürzlich verwendete Paare einige Handelspaare fehlten, die wir vor Kurzem getauscht hatten. Deshalb baten wir den Agent, das Problem zu untersuchen:Prompt
Bonk / SOL wird nicht als kürzlich verwendetes Paar angezeigt, obwohl es kürzlich Swaps gab. Kannst du prüfen, warum?2BnyMbNYLjYorNwbPjhUBHSQBTbCTjuqouQwZiYY6auh
getTransactionHistory und parseTransactions.
So konnte er den Fehler schnell identifizieren:
Der Code stützt sich ausschließlich auf events.swap, anstatt die tatsächlichen Token-Übertragungen zu analysieren.
Ich korrigiere die Extraktion des Swap-Verlaufs, sodass tokenTransfers und nativeTransfers direkt verwendet werden.Er behob das Problem, indem er die Erkennung von Handelspaaren änderte: Wir prüfen jetzt einfach, welche Tokens in einer Transaktion in die Wallet hinein- und aus ihr herausübertragen wurden. Jetzt sehen wir alle unsere Handelspaare in der App:

All trading pairs shown
UI-Optimierung
Das Gesamtdesign der App ist bereits gut, aber das Layout der Swap-UI muss noch etwas optimiert werden:Prompt
Korrigiere das Design der Token-Auswahlbox:Platziere die Token-Auswahl auf der rechten Seite.Gestalte die Breite des Eingabefelds für den Betrag flexibel, sodass es sauber in die Box passt.

New layout for the token selector box
Anzeige des Kursangebots
Derzeit müssen die Token-Beträge in der Swap-UI manuell festgelegt werden. Der Benutzer sieht daher nicht, wie viele Tokens er im Gegenzug erhält. Es wäre sinnvoll, das Feld für den Token-Betrag automatisch mit einem aktuellen DFlow-Kursangebot auszufüllen.Prompt
Wenn der Benutzer einen Betrag für ein Token eingegeben hat, rufe ein Kursangebot ab und zeige den Ausgabebetrag für das andere Token an.

Quote preview showing the output amount in the receive field
Swap-Informationen hinzufügen
Sobald ein Swap abgeschlossen ist, kann der Benutzer ihn nicht on-chain überprüfen. Fügen wir diese Möglichkeit der UI hinzu:Prompt
Gib nach einem erfolgreichen Swap die vollständige Transaktionssignatur aus. Verlinke sie außerdem mit einem Explorer.

Wallet confirmation popup during swap signing

Successful swap output with full signature and explorer link