NEU: Helius übernimmt Light Protocol
Solana-Programme mit Solang in Solidity schreiben
Blog/Forschung

Solidity auf Solana — Was ist Solang?

Leiter Developer RelationsHunter Davis auf LinkedIn
4 Min. Lesezeit

Überblick

Solang, ein Solidity-Compiler für Solana, wurde diese Woche angekündigt. Damit können Ethereum-Solidity-Entwickler zu Solana wechseln und den Lernaufwand sowie den erforderlichen Zeitaufwand für den Einstieg reduzieren. Bisher mussten Entwickler entweder Rust, C oder Python verwenden.

Der Solang-Compiler für Solidity auf Solana soll vor allem erfahrene Entwickler ansprechen, die wegen der nötigen Einarbeitung in Rust oder eine andere Sprache bisher davor zurückgeschreckt sind, Programme auf Solana zu entwickeln.

In diesem Artikel behandeln wir Folgendes:

  • Was ist ein Compiler?
  • Vorteile
  • Auswirkungen auf Solana-Programme
  • Erste Schritte

Was ist ein Compiler?

Ein Compiler ist ein Tool, das High-Level-Quellcode in eine Low-Level-Darstellung übersetzt, die auf der Zielplattform ausgeführt werden kann. Bei Solidity wird der Solang-Compiler benötigt, um Solidity-Code in ein mit der Solana-Blockchain kompatibles Format umzuwandeln. Er durchläuft mehrere Phasen, um den Code in optimierten Maschinencode oder Bytecode umzuwandeln, der auf Solana ausgeführt werden kann. So können Solidity-Entwickler ihre Smart Contracts einfach und effizient auf Solana schreiben und bereitstellen.

Eine häufig verwendete Programmiersprache für die Entwicklung von Programmen auf Solana ist Rust. Diese Grafik zeigt im Detail, wie Rust und Solidity kompiliert werden, um Programmanweisungen für die Solana-Blockchain zu erstellen:

Vorteile

Wie bereits erwähnt, soll Solang als Solidity-Compiler auf Solana vor allem erfahrene Entwickler ansprechen, die wegen der Einarbeitung in Rust oder andere für die Programmentwicklung auf der Plattform erforderliche Sprachen bisher gezögert haben. Solidity-Entwickler können ihre Fähigkeiten und ihr Wissen so auf Solana übertragen und leichter dezentrale Anwendungen entwickeln.

Auswirkungen auf Solana-Programme

Solang als Solidity-Compiler für Solana verbessert den Entwicklungsprozess und motiviert erfahrene Solidity-Entwickler, die Möglichkeiten der Solana-Blockchain zu erkunden.

Solang bringt keine wesentlichen Änderungen für Solana-Programme mit sich. Beim Kompilieren wird High-Level-Quellcode in Solidity in eine Low-Level-Darstellung übersetzt, die auf der Solana-Blockchain ausgeführt werden kann. So können Entwickler ihre Programme in verschiedenen Sprachen schreiben und auf Solana miteinander kommunizieren lassen.

Auf hoher Ebene unterstützt Solang:

  • Die Solana-Bibliothek (SPL-Token und Systemanweisungen)
  • Integrierte Importe

Solana-Bibliothek

Die Solana-Bibliothek ist im Github-Repository von Solang in zwei verschiedene Bibliotheken unterteilt:

  1. SPL-Token
  2. Systemanweisungen

1. SPL-Token

Mit der SPL-Unterstützung kannst du über die Solang-SPL-Token-Bibliothek SPL-Token erstellen, prägen, verbrennen und übertragen. Damit erhältst du eine Reihe von Tools, um SPL-Token über dein Solang-Programm zu verwalten.

Um sie mit deinem Solidity-Code zu verwenden, kopiere zunächst die Datei spl_token.sol in deinen Quellcodebaum.

2. Systemanweisungen

Mit Systemanweisungen können Entwickler reguläre Funktionen nutzen, etwa Konten erstellen, Übertragungen durchführen, Kontodaten zuweisen und Transaktionsgebühren bezahlen.

Gehe wie bei der SPL-Bibliothek vor und kopiere die Datei system_instruction.sol in deinen Quellcodebaum. Anschließend kannst du sie in deinem Solidity-Code verwenden.

Integrierte Importe

Integrierte Importe sind speziell für die Solana-Plattform verfügbar.

Damit kannst du Funktionen von Solana-Programmen nutzen, darunter:

  1. AccountInfo
  2. AccountMeta
  3. Program Derived Addresses (PDAs)

1. AccountInfo

AccountInfo erfasst Informationen zu allen Konten, die an eine Transaktion übergeben werden. Weitere Informationen findest du hier.

2. AccountMeta

Bei einem Cross-Program-Invocation-Aufruf (CPI) kannst du mit Account Meta festlegen, welche Konten übergeben werden sollen.

3. PDAs

PDAs ermöglichen es, Signaturen bei Aufrufen zwischen Programmen programmatisch zu erstellen und zu verwenden.

Mit Solang kannst du PDAs, die über eine Programmadresse erstellt wurden, aus dem erstellten Vertrag anlegen und abrufen. Das erhöht die Sicherheit deiner Anwendung.

Weitere in Solang verfügbare Built-ins findest du hier.

Erste Schritte

In den Solana-Dokumenten kannst du hier mit Solang beginnen. Die Anleitung führt dich durch den Build eines Anchor-Programms, bei dem du mit dem Solang-Compiler dein erstes Solidity-/Solana-Programm erstellst.

Diese Anleitung hilft dir beim Einstieg und erklärt die Unterschiede zwischen Smart Contracts auf Ethereum und Solana-Programmen, insbesondere beim Umgang mit Zustandsdaten. Das ist mit Abstand die größte Hürde beim Wechsel von der Ethereum- zur Solana-Entwicklung.

Fazit

Solang ist ein wichtiger Fortschritt für Ethereum-Solidity-Entwickler, die zu Solana wechseln möchten. Als Solidity-Compiler für Solana reduziert Solang den Lernaufwand bei der Entwicklung auf der Plattform. Erfahrene Solidity-Entwickler können dadurch ihre vorhandenen Fähigkeiten und Kenntnisse nutzen. Der Compiler schließt eine bisher bestehende Lücke und spricht Entwickler an, die wegen der nötigen Einarbeitung in Rust oder eine andere Sprache bisher davor zurückgeschreckt sind, Solana-Programme zu entwickeln.

‍

Helius abonnieren

Bleib bei der Solana-Entwicklung auf dem Laufenden und erhalte Updates, wenn wir neue Beiträge veröffentlichen

Vergrößertes Bild