Zum Hauptinhalt springen

Erste Schritte in der Ethereum-Entwicklung

JavaScript
ethers.js
Knoten
Abfragen
Alchemy
Anfänger
Elan Halpern
30. Oktober 2020
4 Minuten Lesezeit

Ethereum and Alchemy logos

Dies ist ein Anfängerleitfaden für den Einstieg in die Ethereum-Entwicklung. Für dieses Tutorial verwenden wir Alchemy (öffnet in einem neuen Tab), die führende Blockchain-Entwicklerplattform, die Millionen von Nutzern von 70 % der Top-Blockchain-Apps unterstützt, darunter Maker, 0x, MyEtherWallet, Dharma und Kyber. Alchemy gibt uns Zugriff auf einen API-Endpunkt auf der Ethereum-Chain, damit wir Transaktionen lesen und schreiben können.

Wir begleiten dich von der Anmeldung bei Alchemy bis zum Schreiben deines ersten Web3-Skripts! Keine Erfahrung in der Blockchain-Entwicklung erforderlich!

1. Melde dich für ein kostenloses Alchemy-Konto an

Ein Konto bei Alchemy zu erstellen ist einfach, melde dich hier kostenlos an (öffnet in einem neuen Tab).

2. Erstelle eine Alchemy-App

Um mit der Ethereum-Chain zu kommunizieren und die Produkte von Alchemy zu nutzen, benötigst du einen API-Schlüssel, um deine Anfragen zu authentifizieren.

Du kannst API-Schlüssel über das Dashboard erstellen (öffnet in einem neuen Tab). Um einen neuen Schlüssel zu erstellen, navigiere zu „Create App“ (App erstellen), wie unten gezeigt:

Besonderer Dank geht an ShapeShift (öffnet in einem neuen Tab), dass wir ihr Dashboard zeigen dürfen!

Alchemy dashboard

Fülle die Details unter „Create App“ aus, um deinen neuen Schlüssel zu erhalten. Hier siehst du auch Apps, die du zuvor erstellt hast, sowie die deines Teams. Rufe bestehende Schlüssel ab, indem du bei einer beliebigen App auf „View Key“ (Schlüssel anzeigen) klickst.

Create app with Alchemy screenshot

Du kannst bestehende API-Schlüssel auch abrufen, indem du mit der Maus über „Apps“ fährst und eine auswählst. Hier kannst du auf „View Key“ klicken, sowie auf „Edit App“ (App bearbeiten), um bestimmte Domains auf die Whitelist zu setzen, verschiedene Entwicklertools zu sehen und Analysen anzuzeigen.

3. Eine Anfrage über die Befehlszeile stellen

Interagiere mit der Ethereum-Blockchain über Alchemy mithilfe von JSON-RPC und curl.

Für manuelle Anfragen empfehlen wir die Interaktion mit dem JSON-RPC über POST-Anfragen. Übergib einfach den Header Content-Type: application/json und deine Abfrage als POST-Body mit den folgenden Feldern:

  • jsonrpc: Die JSON-RPC-Version – derzeit wird nur 2.0 unterstützt.
  • method: Die ETH-API-Methode. Siehe API-Referenz.
  • params: Eine Liste von Parametern, die an die Methode übergeben werden sollen.
  • id: Die ID deiner Anfrage. Wird in der Antwort zurückgegeben, damit du nachverfolgen kannst, zu welcher Anfrage eine Antwort gehört.

Hier ist ein Beispiel, das du über die Befehlszeile ausführen kannst, um den aktuellen Gaspreis abzurufen:

curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'

HINWEIS: Ersetze https://eth-mainnet.alchemyapi.io/v2/demo durch deinen eigenen API-Schlüssel https://eth-mainnet.alchemyapi.io/v2/**dein-api-schluessel.

Ergebnisse:

{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }

4. Richte deinen Web3-Client ein

Wenn du einen bestehenden Client hast, ändere die URL deines aktuellen Knoten-Anbieters in eine Alchemy-URL mit deinem API-Schlüssel: “https://eth-mainnet.alchemyapi.io/v2/dein-api-schluessel"

HINWEIS: Die folgenden Skripte müssen in einem Node-Kontext ausgeführt oder in einer Datei gespeichert werden und dürfen nicht über die Befehlszeile ausgeführt werden. Wenn du Node oder npm noch nicht installiert hast, befolge die Installationsanweisungen für Node.js (öffnet in einem neuen Tab).

Es gibt unzählige Web3-Bibliotheken, die du in Alchemy integrieren kannst. Wir empfehlen jedoch die Verwendung von Alchemy Web3 (öffnet in einem neuen Tab), einem direkten Ersatz für Web3.js, der so entwickelt und konfiguriert wurde, dass er nahtlos mit Alchemy zusammenarbeitet. Dies bietet mehrere Vorteile wie automatische Wiederholungsversuche und robuste WebSocket-Unterstützung.

Um AlchemyWeb3.js zu installieren, navigiere in dein Projektverzeichnis und führe Folgendes aus:

Mit Yarn:

yarn add @alch/alchemy-web3

Mit NPM:

npm install @alch/alchemy-web3

Um mit der Knoten-Infrastruktur von Alchemy zu interagieren, führe dies in NodeJS aus oder füge es zu einer JavaScript-Datei hinzu:

const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3(
  "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
)

5. Schreibe dein erstes Web3-Skript!

Um nun etwas praktische Erfahrung mit der Web3-Programmierung zu sammeln, schreiben wir ein einfaches Skript, das die neueste Blocknummer aus dem Ethereum Mainnet ausgibt.

1. Falls noch nicht geschehen, erstelle in deinem Terminal ein neues Projektverzeichnis und wechsle mit cd dorthin:

mkdir web3-example
cd web3-example

2. Installiere die Alchemy-Web3-Abhängigkeit (oder eine beliebige Web3-Abhängigkeit) in deinem Projekt, falls noch nicht geschehen:

npm install @alch/alchemy-web3

3. Erstelle eine Datei namens index.js und füge den folgenden Inhalt hinzu:

Du solltest letztendlich demo durch deinen Alchemy-HTTP-API-Schlüssel ersetzen.

async function main() {
  const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
  const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
  const blockNumber = await web3.eth.getBlockNumber()
  console.log("The latest block number is " + blockNumber)
}
main()

Nicht vertraut mit asynchroner Programmierung? Schau dir diesen Medium-Beitrag (öffnet in einem neuen Tab) an.

4. Führe es in deinem Terminal mit Node aus

node index.js

5. Du solltest nun die Ausgabe der neuesten Blocknummer in deiner Konsole sehen!

The latest block number is 11043912

Juhu! Glückwunsch! Du hast gerade dein erstes Web3-Skript mit Alchemy geschrieben 🎉

Nicht sicher, was du als Nächstes tun sollst? Versuche, deinen ersten Smart Contract bereitzustellen und sammle praktische Erfahrung mit der Solidity-Programmierung in unserem Leitfaden für Hello World Smart Contracts, oder erkunde weiter die Dokumentation von Alchemy (öffnet in einem neuen Tab) für weitere Beispiele.

Melde dich kostenlos bei Alchemy an (öffnet in einem neuen Tab), sieh dir unsere Dokumentation (öffnet in einem neuen Tab) an und folge uns für die neuesten Nachrichten auf Twitter (öffnet in einem neuen Tab).