Ethereumwei, Gwei und ETH, umgerechnet mit exakter Ganzzahl-Arithmetik

Gwei-Umrechner

Tippen Sie in eines der drei Felder, und die anderen beiden folgen. Jede Umrechnung läuft über wei als BigInt, sodass alle 18 Dezimalstellen den Roundtrip überstehen, statt durch Fließkomma-Arithmetik geglättet zu werden.

Umrechnen
Ein Feld pro Einheit. Das Feld, in das Sie tippen, bleibt exakt so, wie Sie es geschrieben haben.
Ausprobieren:
In wei
1000000000
Die drei Einheiten
Dieselbe Währung, drei Skalen, vom Protokoll festgelegt.
wei

Die kleinste Einheit und die einzige, in der die EVM rechnet. Guthaben, Transaktionswerte und Gaspreise sind alle Ganzzahlen in wei; darunter gibt es nichts mehr, daher findet auf Protokollebene keine Rundung statt.

Gwei

109 wei, auch Nanoether genannt. Gaspreise liegen in diesem Bereich, was der ganze Grund für die tägliche Nutzung dieser Einheit ist: 20 Gwei liest sich besser als 20000000000 wei und als 0,00000002 ETH.

ETH

1018 wei. Was Nutzer in einer Wallet sehen, und die Einheit, in der so gut wie keine Oberfläche tatsächlich rechnet.

Den aktuellen Gaspreis über eine API auslesen

7 Tage Testphase, keine Kreditkarte, kein KYC.

Kostenlose Testphase starten

Die drei Einheiten und die Arithmetik dazwischen

Ethereum hat eine Währung und mehrere Namen für ihre Größenordnungen. Zwei davon sind in der Praxis wichtig:

Einheit In Wei In ETH Auch genannt
Wei 1 0,000000000000000001
Gwei 1.000.000.000 0,000000001 Nanoether, Shannon
ETH 1.000.000.000.000.000.000 1 Ether

Umrechnen ist eine Verschiebung des Kommas, keine Multiplikation, für die man eine Bibliothek braucht. Gwei zu ETH verschiebt das Komma neun Stellen nach links, ETH zu Wei achtzehn Stellen nach rechts. Von Hand ist genau hier die Fehlerquelle: Neun Nullen und achtzehn Nullen sehen auf den ersten Blick ähnlich aus, und ein Fehler um drei Stellen macht aus einem Gaspreis von 20 Gwei 20 Megawei.

Warum es Gwei überhaupt gibt

Die EVM kennt keinen Fließkommatyp. Kontostände, Transaktionswerte und Gaspreise sind alle vorzeichenlose Ganzzahlen in Wei, weil Ganzzahlen das Einzige sind, worauf sich ein Konsens exakt einigen kann. Diese Entscheidung ist richtig, macht Gaspreise aber unlesbar: Ein normaler Preis ist in Wei eine zehn- oder elfstellige Zahl und in ETH ein Bruch mit fünf Nachkommastellen. Keine der beiden Skalen passt zur Größe der Zahl.

Gwei sitzt dazwischen, bei 109 Wei, und Gaspreise landen dort bei ein oder zwei Stellen. Das ist der ganze Grund, warum die Einheit im täglichen Gebrauch ist. Sie ist kein eigenes Token, keine Layer-2-Bezeichnung, sondern schlicht eine Skala, die zufällig zur Größe der Zahlen passt, die Leute nennen. Die Namen Shannon und Nanoether bezeichnen dasselbe und tauchen außerhalb von Einheitentabellen kaum auf.

Dieselbe Logik gilt umgekehrt für Kontostände. Niemand gibt eine Wallet in Wei an, niemand einen Gaspreis in ETH. Jede Skala wird dort verwendet, wo ihre Zahlen eine lesbare Anzahl an Stellen ergeben, weshalb eine Oberfläche, die beides berührt, ständig zwischen ihnen umrechnet.

Warum dieser Umrechner BigInt verwendet

Eine JavaScript-Number ist ein Double, exakt für Ganzzahlen nur bis 253 − 1, also 9.007.199.254.740.991. Das sind rund 9 × 1015, weniger als die 1018 Wei in einem einzigen ETH. Jenseits dieser Grenze sind die Ergebnisse still falsch statt abgelehnt:

1.1 * 1e18            // 1100000000000000100  — 100 Wei daneben
Number("1234567890123456789")
                      // 1234567890123456800  — letzte zwei Stellen verloren
0.1 + 0.2             // 0.30000000000000004

Keiner dieser Fälle wirft einen Fehler. Sie liefern eine plausibel aussehende Zahl, deren untere Stellen durch das ersetzt sind, was die binäre Darstellung zufällig ergeben hat. In einem Umrechner ist das schlecht; in Code, der einen Transaktionswert konstruiert, ist es ein Bug, den man in Produktion findet, wenn ein Transfer einen leicht anderen Betrag bewegt als den angezeigten.

Die Lösung ist, einen Wei-Wert niemals zu einer Fließkommazahl werden zu lassen. Diese Seite parst Ihre Eingabe als Dezimal-String, verschiebt das Komma per String-Manipulation und hält das Ergebnis als BigInt. Wer 18 beliebige Nachkommastellen ins ETH-Feld tippt, bekommt genau diese Ziffern im Wei-Feld zurück. Die einzige Stelle, an der Ziffern verworfen werden, ist, wenn Sie mehr Nachkommastellen eingeben, als die Einheit hat, und dann sagt die Seite das auch, statt still zu runden.

Dieselbe Disziplin gilt für Ihren eigenen Code. ethers hat parseEther und formatUnits, viem hat parseEther und formatGwei, und beide liefern aus demselben Grund BigInt-Werte zurück. Ein selbstgeschriebenes value / 1e18 funktioniert genau bis zu dem Betrag, ab dem es das nicht mehr tut.

Gaskosten in den drei Einheiten

Beim Gas wird die Umrechnung tatsächlich gebraucht, deshalb lohnt es sich, eine Berechnung in allen drei Skalen zu sehen. Ein einfacher ETH-Transfer kostet fix 21.000 Gas. Bei einem Gaspreis von 20 Gwei:

21000 gas × 20 Gwei  = 420,000 Gwei
                     = 420,000,000,000,000 wei
                     = 0.00042 ETH

Die Gasmenge hängt davon ab, was die Transaktion tut; der Gaspreis hängt von der Nachfrage nach Blockplatz in diesem Moment ab. Seit EIP-1559 teilt sich der Preis in eine Basisgebühr, die verbrannt wird, und eine Prioritätsgebühr, die an den Block-Proposer geht. Beide werden pro Gas angegeben und sind unter der Haube beide Wei-Werte, weshalb die Chaingateway-Transaktionsparameter gasprice, maxFeePerGas und maxPriorityFeePerGas als Beispielwert 1000000000 statt 1 tragen. Das ist ein Gwei, ausgeschrieben in Wei.

Achten Sie auf die Skala, wenn Sie einen Preis zurücklesen: GET /api/v2/ethereum/gasprice liefert ein einzelnes Feld gasPrice, dessen Beispielwert in der Referenz 12.28 ist, eine Zahl auf Gwei-Skala und keine Wei-Ganzzahl. Diesen Wert unverändert als gasprice in eine Transaktion zurückzugeben, würde 12 Wei pro Gas verlangen. Erst umrechnen, dann mit dem Gas Ihrer Transaktion multiplizieren.

Die übrigen Ethereum-Endpunkte, einschließlich ERC-20-Transfers und Transaktions-Webhooks, sind auf der Ethereum-API-Seite beschrieben. Verwandte Rechner finden Sie unter Tools.

Häufig gestellte Fragen

Wie viele wei sind in einem ETH?

10^18, also 1.000.000.000.000.000.000 wei. Der Exponent ist protokollfest vorgegeben und hat sich nie geändert.

Wie viele wei sind in einem Gwei?

10^9, also 1.000.000.000 wei. Ein ETH enthält 10^9 Gwei, Gwei liegt also auf einer logarithmischen Skala genau in der Mitte zwischen wei und ETH.

Wie rechne ich wei von Hand in ETH um?

Verschieben Sie das Komma achtzehn Stellen nach links und füllen Sie mit Nullen auf, falls die Zahl kürzer als neunzehn Ziffern ist. 420.000.000.000.000 wei werden zu 0,00042 ETH. Gwei zu ETH ist dieselbe Operation mit neun Stellen.

Ist Gwei dasselbe wie Nanoether?

Ja. Gwei, Nanoether und Shannon sind drei Namen für 10^9 wei, also 10^-9 ETH. Gwei ist der Name, der sich durchgesetzt hat, weil Gaspreise üblicherweise darin angegeben werden.

Warum wird für Gaspreise Gwei statt ETH verwendet?

Wegen der Ziffernanzahl. Ein Gaspreis von 20 Gwei entspricht 20.000.000.000 wei oder 0,00000002 ETH, und keins von beidem ist auf einen Blick lesbar. Gwei bringt normale Gaspreise auf ein- oder zweistellige Zahlen.

Kann ich wei mit einer normalen JavaScript-Zahl in ETH umrechnen?

Nicht zuverlässig. Ein Double ist nur für Ganzzahlen bis 9.007.199.254.740.991 exakt, deutlich unter den 10^18 wei in einem ETH — größere Werte verlieren also ihre unteren Stellen, ohne dass ein Fehler ausgelöst wird. 1.1 * 1e18 liefert 1100000000000000100, hundert wei daneben. Verwenden Sie BigInt oder eine Bibliothek, die BigInt zurückgibt.

Was kostet eine Transaktion in ETH, wenn der Gaspreis in Gwei angegeben ist?

Verbrauchtes Gas mit dem Gaspreis multiplizieren, dann umrechnen. Ein einfacher Transfer verbraucht 21.000 Gas; bei 20 Gwei sind das 420.000 Gwei, also 0,00042 ETH. Contract-Aufrufe verbrauchen mehr Gas, und die 21.000 sind die Untergrenze, kein typischer Wert.

Rundet dieser Umrechner?

Nein. Jeder Wert wird als Dezimalstring geparst und als BigInt in wei gehalten, sodass alle 18 Dezimalstellen erhalten bleiben. Ziffern gehen nur verloren, wenn eine Eingabe mehr Nachkommastellen hat, als die Einheit besitzt, etwa ein Bruchteil im wei-Feld — und die Seite meldet das, statt stillschweigend zu runden.