UStackUStack
Better Sol icon

Better Sol

Better Sol ist ein Tool zum Schreiben von Solana-Programmen in TypeScript: Eine Datei definiert Programm und typisierten Client – kein Rust nötig.

Better Sol

Was ist Better Sol?

Better Sol ist ein Tool zum Schreiben von Solana-Programmen mit TypeScript statt Rust. Es basiert auf einem Single-File-Muster, bei dem eine Datei sowohl das On-Chain-Programm als auch einen typisierten Client zur Interaktion definiert.

Der Kernzweck ist es, den Solana-Entwicklungsworkflow zu vereinfachen, indem Programm-Logik und zugehörige Client-Typen zusammen gehalten werden – so können Sie Solana-Funktionen bauen und nutzen, ohne zu Rust zu wechseln.

Wichtige Funktionen

  • TypeScript-first Solana-Programmierung: Schreiben Sie das Programm in TypeScript statt Rust.
  • Single-File Programm + typisierter Client: Definieren Sie Programm und typisierten Client in einer Datei.
  • Typisierte Client-Generierung: Die Client-Schnittstelle ist an die Programmdefinition gebunden, sodass Interaktionen typensicher sind.
  • Reduzierte Sprachgrenze: Halten Sie On-Chain-Code und Client-API im selben TypeScript-Codebase.

So verwenden Sie Better Sol

  • Erstellen Sie eine einzige Better-Sol-Datei mit Programmdefinition und typisiertem Client.
  • Implementieren Sie die Programm-Logik in derselben Datei.
  • Nutzen Sie den typisierten Client aus demselben Code, um Transaktionen zu bauen und mit dem Programm zu interagieren.
  • Folgen Sie dem dokumentierten Workflow des Projekts (wie auf der Site angegeben), um das Solana-Programm zu bauen und zu deployen.

Anwendungsfälle

  • Solana-Smart-Contract in TypeScript bauen: Teams, die TypeScript für Front- und Backend bevorzugen, können Solana-Entwicklung in derselben Sprache halten.
  • Stark typisierten Client für Programm-Interaktion erstellen: Entwickler nutzen die typisierte Client-Schnittstelle, um manuelle Verkabelung bei Instruction-Aufrufen zu reduzieren.
  • Neue On-Chain-Features prototypen: Programm und Client an einem Ort, um schneller an Instruction-Formen und Datentypen zu iterieren.
  • Programm-APIs in einem TypeScript-Monorepo teilen: Wenn Client-Code neben anderen TypeScript-Services liegt, vereinfacht eine einheitliche Datei die Grenze zwischen Programm und Consumer-Code.
  • Entwickler zu Solana schulen oder einarbeiten: Entwickler, die Rust vermeiden wollen, können Programmdefinition und Client-Nutzung in TypeScript durchlaufen.

FAQ

Erfordert Better Sol das Schreiben von Rust-Programmen?
Nein. Die Produktpositionierung besagt, dass Sie Solana-Programme in TypeScript schreiben können, ohne Rust.

Werden Programm und Client getrennt oder zusammen definiert?
Better Sol verwendet eine einzige Datei, um sowohl das Programm als auch einen typisierten Client zu definieren.

Auf welcher Sprache basiert der typisierte Client?
Der typisierte Client wird im Kontext von TypeScript-Entwicklung beschrieben, da das Programm in TypeScript geschrieben wird.

Kann ich Better Sol nur für Client-Integration mit einem bestehenden Programm nutzen?
Der Site-Inhalt konzentriert sich auf die Definition von Programm und typisiertem Client in einer Datei. Es wird nicht explizit bestätigt, ob Client-only-Nutzung für ein bereits deploytes, extern definiertes Programm unterstützt wird.

Alternativen

  • Rust-basierte Solana-Entwicklungsframeworks: Wenn Sie mit Rust vertraut sind, können Sie Programme in der nativ von vielen Solana-Toolchains unterstützten Sprache schreiben, halten aber typischerweise eine klarere Trennung zwischen On-Chain-Rust und Off-Chain-Client-Code.
  • TypeScript-basierte Client-Bibliotheken für Solana: Wenn Ihr Hauptziel typisierte oder strukturierte Client-Interaktionen sind, helfen separate Client-Tools auch, wenn das Programm in Rust geschrieben ist.
  • Generischer Blockchain-SDK-Ansatz: Sie können Solana-Instruction-Layouts und Transaktionsflows mit Standard-Bibliotheken bauen, haben aber mehr manuelle Arbeit, um Client-Typen mit Programm-Logik abzustimmen.
  • Andere „Programmdefinition + generierter Client“-Tool-Muster: Einige Tools generieren Client-Code aus Programmspezifikationen; diese unterscheiden sich darin, wie sie Instruction-Schemas mit Client-Typen verbinden und ob sie Rust- oder TypeScript-first sind.