
Solana Dev 101 – So erstellst du eine Solana-Transaktion
Inhaltsverzeichnis
Einführung
GM! In diesem Blog erfährst du im Rahmen der Solana Dev 101-Serie, wie du mit JavaScript eine Transaktion auf Solana erstellst und sendest. Dieser Leitfaden ist für Einsteiger geeignet. Mach dir also keine Sorgen, wenn Solana oder Blockchain-Technologie für dich neu sind.
Wenn du Fragen hast, tritt dem Helius Discord bei oder markiere Helius auf X, um Hilfe zu erhalten.
Voraussetzungen
Bevor wir beginnen, müssen Node.js und npm auf deinem Rechner installiert sein. Falls nötig, kannst du sie hier herunterladen.
Außerdem müssen wir die Solana-Bibliothek web3.js installieren. Sie umfasst JavaScript-Tools und -Bibliotheken für die Interaktion mit der Solana-Blockchain.
Du kannst sie mit npm installieren, indem du den folgenden Code in deinem Terminal ausführst:
npm install @solana/web3.jsSchritt 1: Verbindung einrichten
Zuerst stellen wir eine Verbindung zum Solana-Cluster her. Wir verwenden Helius, um uns mit einem Devnet-Cluster zu verbinden. Du musst ein Helius-Konto erstellen und einen API-Schlüssel anlegen. Beides ist kostenlos über dein Dashboard möglich.
const solanaWeb3 = require('@solana/web3.js');
const connection = new solanaWeb3.Connection('<https://rpc-devnet.helius.xyz/?api-key=><api_key>','confirmed',);Schritt 2: Neue Wallet erstellen
Jetzt brauchen wir eine Wallet, von der wir Transaktionen senden können. Eine Wallet besteht lediglich aus einem öffentlichen und einem privaten Schlüssel und lässt sich leicht erstellen. Der öffentliche Schlüssel ist deine Wallet-Adresse. Mit deinem privaten Schlüssel signierst du Transaktionen. Hier erfährst du mehr über Kryptografie mit öffentlichen Schlüsseln.
Wir können eine neue Wallet im Dateisystem erstellen. Das Schlüsselpaar dieser Wallet wird auf deinem lokalen Rechner gespeichert. Wenn du die Solana CLI-Tools bereits installiert hast, kannst du den folgenden Befehl im Terminal ausführen, um eine neue Wallet zu erstellen.
solana-keygen newFalls nicht, musst du die Solana CLI-Tool-Suite installieren. Weitere Informationen dazu findest du hier in der Solana-Dokumentation: https://docs.solana.com/cli/install-solana-cli-tools
Du solltest deinen privaten Schlüssel niemals mit anderen teilen.
Anschließend können wir diese Wallet in unseren Code laden:
const sender=solanaWeb3.Keypair.fromSecretKey(new Uint8Array([61,23,....,60,49]));Kopiere deinen geheimen Schlüssel aus der JSON-Datei der im vorherigen Schritt erstellten Wallet und verwende ihn hier.
Schritt 3: Guthaben auf die Wallet laden
Um Transaktionen zu senden, benötigen wir etwas SOL in unserer Wallet. Für die Verarbeitung jeder Transaktion auf Solana fällt eine geringe Gebühr an.
Zu Testzwecken laden wir mit unserer Devnet-Faucet Guthaben auf die Wallet. Verwende die Helius-Faucet in deinem Dashboard oder folge dieser Anleitung, um Devnet SOL über die CLI anzufordern. Gib den öffentlichen Schlüssel der gerade erstellten Wallet ein und fordere etwas SOL an.
Schritt 4: Transaktion erstellen
Nachdem unsere Wallet nun über Guthaben verfügt, können wir eine Transaktion erstellen. In diesem Beispiel erstellen wir die Transaktion und fügen ihr eine Transfer-Anweisung hinzu. Damit übertragen wir 0,1 SOL an eine Wallet unserer Wahl.
Eine Transaktion kann je nach Anweisung viele verschiedene Aktionen ausführen. In diesem Beispiel senden wir SOL mit einer Transfer-Anweisung.
// Set up the address to send to
const receiver = new solanaWeb3.PublicKey("86xCnPeV69n6t3DnyGvkKobf9FdN2H9oiVDdaMpo2MMY");
// Create a transaction
const transaction = new solanaWeb3.Transaction().add(solanaWeb3.SystemProgram.transfer({
fromPubkey: sender.publicKey,toPubkey: receiver,
lamports: solanaWeb3.LAMPORTS_PER_SOL * 0.01,}),);Im obigen Code erstellen wir ein neues PublicKey-Objekt mit einer Wallet unserer Wahl. Zum Erstellen einer Transaktion benötigen wir das PublicKey-Objekt und nicht nur die Adresse. Die Transfer-Anweisung akzeptiert außerdem drei Parameter:
fromPubkey: der öffentliche Schlüssel des Absenderkontos.toPubkey: der öffentliche Schlüssel des Empfängerkontos.lamports: die zu übertragende Anzahl an Lamports, der kleinsten Währungseinheit auf Solana.solanaWeb3.LAMPORTS_PER_SOLentspricht 1 SOL.
Schritt 5: Transaktion signieren und senden
Nachdem wir die Transaktion erstellt haben, müssen wir sie signieren und an das Netzwerk senden.
Die Solana-Web3-Bibliothek bietet dafür die Funktion sendAndConfirmTransaction(), mit der wir all diese Schritte einfach ausführen können.
Die Methode sendAndConfirmTransaction sendet die Transaktion an das Netzwerk, wartet auf die Bestätigung und gibt eine Signatur für die Transaktion zurück.
// Sign and confirm the transaction
const signature = await solanaWeb3.sendAndConfirmTransaction(connection,transaction,[sender],);
console.log('Transaction: ', signature);Die Methode sendAndConfrimTransaction akzeptiert drei Parameter:
connection: Dies ist das Solana-Netzwerkverbindungsobjekt, das wir über eine Helius RPC-Verbindung erstellt haben. Dieser Parameter gibt die Verbindung an, über die die Transaktion gesendet und bestätigt wird.transaction: Dies ist das gerade erstellte Transaktionsobjekt mit der Transfer-Anweisung.[sender]: Dies ist ein Array mit allen Signaturkonten für die Transaktion. In diesem Fall enthält es ein einzelnes Element,sender. Es repräsentiert das Konto, das die Transaktion signiert und autorisiert.
Und das war's!
Wir haben gerade mit JavaScript eine Transaktion auf Solana erstellt und gesendet.
Du kannst das Skript mit node sendTransaction.js ausführen.
Fazit
Dank der umfassenden JavaScript-Bibliothek von Solana kannst du mit JavaScript ganz einfach eine Transaktion auf Solana erstellen und senden. Mit nur wenigen Codezeilen können wir mit der Solana-Blockchain interagieren. Das eröffnet zahlreiche Möglichkeiten.
Dieses einfache Beispiel zeigt den Aufbau und Ablauf beim Erstellen und Senden einer Transaktion. Anwendungen in der Praxis können komplexere Transaktionen und zusätzliche Sicherheitsmaßnahmen erfordern.
Ich hoffe, dieser Leitfaden war hilfreich. Viel Spaß beim Programmieren!
Den vollständigen Code findest du hier.
Ressourcen
Ähnliche Artikel
Helius abonnieren
Bleib bei der Solana-Entwicklung auf dem Laufenden und erhalte Updates, wenn wir neue Beiträge veröffentlichen


