-
bitcoin $77625.828729 USD
0.62% -
ethereum $2517.417853 USD
0.13% -
tether $0.999544 USD
-0.01% -
bnb $723.660100 USD
0.16% -
xrp $1.386011 USD
1.82% -
usd-coin $0.999860 USD
0.01% -
solana $101.519022 USD
0.20% -
tron $0.339380 USD
-0.12% -
hyperliquid $79.865341 USD
1.22% -
zcash $1136.272189 USD
-0.43% -
dogecoin $0.084270 USD
-0.24% -
monero $505.727561 USD
-4.73% -
chainlink $11.414119 USD
-0.35% -
unus-sed-leo $8.961937 USD
-1.04% -
cardano $0.209002 USD
0.75%
Was ist eine Ansichtsfunktion und eine reine Funktion in Solidity und welche Auswirkungen haben sie auf das Gas?
View and pure functions in Solidity don’t modify state, enabling free, off-chain execution—ideal for reads and calculations without gas costs.
Nov 12, 2025 at 06:20 pm
Ansichtsfunktionen in Solidität verstehen
1. Eine Ansichtsfunktion in Solidity ist ein Funktionstyp, der verspricht, den Zustand der Blockchain nicht zu verändern. Es kann aus den Speichervariablen des Vertrags lesen, diese jedoch nicht ändern, keine Ereignisse ausgeben oder Funktionen aufrufen, die den Status ändern.
- Da diese Funktionen ihren Status nicht ändern, können sie lokal auf einem Ethereum-Knoten ausgeführt werden, ohne eine Transaktion an das Netzwerk zu senden. Dies bedeutet, dass Benutzer bei externen Anrufen keine Gasgebühren zahlen müssen.
- Das Schlüsselwort view muss explizit in der Funktionssignatur deklariert werden. Wenn es weggelassen wird und die Funktion versucht, den Status zu ändern, gibt der Compiler einen Fehler aus.
- Beispiele hierfür sind das Abrufen des Guthabens eines Benutzers, das Überprüfen von Berechtigungen in ERC-20-Tokens oder das Lesen von im Vertrag gespeicherten Konfigurationsparametern.
- Obwohl Ansichtsfunktionen für externe Aufrufer kostenlos sind, verbrauchen sie dennoch Rechenressourcen auf Knoten. Daher kann eine übermäßig komplexe Logik innerhalb einer Ansichtsfunktion bei einigen Anbietern zu Zeitüberschreitungen oder Ablehnungen führen.
Erforschung reiner Funktionen in Solidität
1. Eine reine Funktion geht einen Schritt weiter als eine Ansichtsfunktion, indem sie verspricht, keine Zustandsvariablen zu lesen oder zu schreiben. Es arbeitet ausschließlich mit den ihm übergebenen Eingabeparametern.
- Diese Funktionen werden typischerweise für mathematische Berechnungen, Kodierungs-/Dekodierungsvorgänge oder logische Prüfungen verwendet, die nicht von gespeicherten Daten abhängen.
- Das Schlüsselwort pure erzwingt diese Einschränkung zur Kompilierungszeit. Der Versuch, auch nur auf eine einzelne Statusvariable zuzugreifen, führt zu einem Kompilierungsfehler.
- Genau wie Ansichtsfunktionen fallen auch für reine Funktionen keine Gaskosten an, wenn sie extern aufgerufen werden, da sie keine Transaktion erfordern. Sie führen Off-Chain mit lokalen Knotenressourcen aus.
- Ein Beispiel wäre eine Funktion, die Zinseszinsen basierend auf Eingabeargumenten berechnet oder eine kryptografische Signatur validiert, ohne auf die Vertragsspeicherung zu verweisen.
Gasimplikationen nicht modifizierender Funktionen
1. Wenn eine Smart-Contract-Funktion als view oder pure markiert ist, generieren externe Aufrufe keine Transaktionen. Dadurch wird dem Anrufer kein Benzin in Rechnung gestellt.
- Wenn jedoch intern eine Ansicht oder eine reine Funktion von einer anderen Funktion innerhalb einer Transaktion aufgerufen wird, verbraucht deren Ausführung immer noch Gas. Die EVM muss jede Operation verarbeiten, unabhängig davon, ob Zustandsänderungen auftreten.
- Komplexe Berechnungen innerhalb solcher Funktionen – wie das Durchlaufen großer Arrays oder das Ausführen mehrerer arithmetischer Operationen – erhöhen die Gaskosten, wenn sie intern aufgerufen werden.
- Entwickler optimieren die Leistung häufig, indem sie die Berechnung in Ansichts-/reinen Funktionen minimieren, insbesondere wenn diese wahrscheinlich während Transaktionen zur Zustandsänderung aufgerufen werden.
- Die falsche Kennzeichnung einer Funktion als „Ansicht“ oder „rein“, wenn sie tatsächlich den Status ändert, führt zu Laufzeitausnahmen oder Bereitstellungsfehlern, wodurch möglicherweise Entwicklungszeit und Testnet-Gas verschwendet werden.
Häufige Fragen zu Ansichten und reinen Funktionen
F: Kann eine Ansichtsfunktion eine reine Funktion aufrufen? A: Ja, eine Ansichtsfunktion kann sicher eine reine Funktion aufrufen. Da reine Funktionen den Status nicht lesen oder ändern, sind sie vollständig mit den Einschränkungen von Ansichtsfunktionen kompatibel.
F: Was passiert, wenn ich versuche, eine Zustandsvariable innerhalb einer reinen Funktion zu ändern? A: Der Solidity-Compiler erzeugt einen Fehler. Reinen Funktionen ist es strengstens untersagt, auf Zustandsvariablen zuzugreifen, sei es zum Lesen oder Schreiben.
F: Verwenden View- und Pure-Funktionen Gas, wenn sie von web3.js oder ethers.js aufgerufen werden? A: Nein, der Aufruf dieser Funktionen über JavaScript-Bibliotheken erfordert keine Transaktion und verursacht daher keine Gaskosten. Die Ausführung erfolgt lokal auf dem verbundenen Ethereum-Knoten.
F: Gibt es einen Leistungsunterschied zwischen Ansicht und reinen Funktionen? A: Aus Sicht der Gaskosten und der Ausführungsgeschwindigkeit gibt es bei einem externen Aufruf keinen inhärenten Unterschied. Beide werden lokal ohne Statusänderungen ausgeführt. Intern hängt die Leistung eher von der Rechenkomplexität als vom verwendeten Modifikator ab.
Haftungsausschluss:info@kdj.com
Die bereitgestellten Informationen stellen keine Handelsberatung dar. kdj.com übernimmt keine Verantwortung für Investitionen, die auf der Grundlage der in diesem Artikel bereitgestellten Informationen getätigt werden. Kryptowährungen sind sehr volatil und es wird dringend empfohlen, nach gründlicher Recherche mit Vorsicht zu investieren!
Wenn Sie glauben, dass der auf dieser Website verwendete Inhalt Ihr Urheberrecht verletzt, kontaktieren Sie uns bitte umgehend (info@kdj.com) und wir werden ihn umgehend löschen.
-
PONS Jetzt handeln$0.5845
10.74%
-
CAKE Jetzt handeln$2.36
7.89%
-
XLM Jetzt handeln$0.1920
7.38%
-
LIT Jetzt handeln$4.39
7.27%
-
PENDLE Jetzt handeln$2.29
5.72%
-
FIL Jetzt handeln$0.9806
5.42%
- Bitmine Immersion Technologies treibt das Wachstum mit massiven Ether-Staking-Einnahmen und strategischen ETH-Treasury-Beständen voran
- 2026-09-15 00:55:01
- Super Bowl LXI, Krypto-Wetten und der Champion 2027: Eine New Yorker Perspektive auf die digitale Wettlandschaft
- 2026-09-15 00:55:02
- China und Anthropic-CEO streiten über die Zukunft der KI: Es kommt zu einer globalen Pattsituation
- 2026-09-15 01:00:01
- Crypto Clarity Act, SEC und CFTC: Ein New Yorker Staat der Regulierung
- 2026-09-14 13:05:01
- Öl steigt, Bitcoin bleibt stabil, Gold beobachtet die bevorstehende Entscheidung der Fed
- 2026-09-14 13:10:02
- Chancen für die Verabschiedung des Clarity Act: Widersprüchliche Zahlen trüben die Prognose
- 2026-09-14 13:05:01
Verwandtes Wissen
Wie kann man das SOL-Futures-Volumen und das offene Interesse überprüfen?
Sep 14,2026 at 12:40am
Zugriff auf SOL-Futures-Marktdaten 1. Navigieren Sie zur offiziellen Börsenplattform, auf der ewige oder vierteljährliche SOL-Futures gelistet sind, z...
Wie überprüft man das Futures-Volumen und das Open Interest von DOGE?
Sep 12,2026 at 08:39am
Verständnis des DOGE Futures-Volumens 1. Das Futures-Volumen bezieht sich auf die Gesamtzahl der DOGE Futures-Kontrakte, die innerhalb eines bestimmte...
Wie kann man das BTC-Futures-Volumen und das Open Interest überprüfen?
Sep 12,2026 at 03:19pm
Datenquellen für BTC-Futures-Metriken 1. CoinGlass API v4 liefert Echtzeit-Finanzierungsraten, Liquidations-Heatmaps und detaillierte Aufschlüsselunge...
Wie liest man das DOGEUSDT Perpetual Contract Chart?
Sep 11,2026 at 07:19pm
Preisbewegungen auf DOGEUSDT Perpetual Charts verstehen 1. Die Candlestick-Formation verrät die unmittelbare Marktstimmung – grüne Kerzen zeigen eine ...
Wie liest man das ETHUSDT-Futures-Chart auf Binance?
Sep 13,2026 at 05:20am
Bitcoin Halbierungsmechanik 1. Alle 210.000 Blöcke wird die Blockbelohnung für Bitcoin Miner halbiert. 2. Dieses Ereignis tritt etwa alle vier Jahre a...
Wie kann ich die Bitcoin Futures-Finanzierungsgebühr auf Binance überprüfen?
Sep 13,2026 at 06:00pm
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie kann man das SOL-Futures-Volumen und das offene Interesse überprüfen?
Sep 14,2026 at 12:40am
Zugriff auf SOL-Futures-Marktdaten 1. Navigieren Sie zur offiziellen Börsenplattform, auf der ewige oder vierteljährliche SOL-Futures gelistet sind, z...
Wie überprüft man das Futures-Volumen und das Open Interest von DOGE?
Sep 12,2026 at 08:39am
Verständnis des DOGE Futures-Volumens 1. Das Futures-Volumen bezieht sich auf die Gesamtzahl der DOGE Futures-Kontrakte, die innerhalb eines bestimmte...
Wie kann man das BTC-Futures-Volumen und das Open Interest überprüfen?
Sep 12,2026 at 03:19pm
Datenquellen für BTC-Futures-Metriken 1. CoinGlass API v4 liefert Echtzeit-Finanzierungsraten, Liquidations-Heatmaps und detaillierte Aufschlüsselunge...
Wie liest man das DOGEUSDT Perpetual Contract Chart?
Sep 11,2026 at 07:19pm
Preisbewegungen auf DOGEUSDT Perpetual Charts verstehen 1. Die Candlestick-Formation verrät die unmittelbare Marktstimmung – grüne Kerzen zeigen eine ...
Wie liest man das ETHUSDT-Futures-Chart auf Binance?
Sep 13,2026 at 05:20am
Bitcoin Halbierungsmechanik 1. Alle 210.000 Blöcke wird die Blockbelohnung für Bitcoin Miner halbiert. 2. Dieses Ereignis tritt etwa alle vier Jahre a...
Wie kann ich die Bitcoin Futures-Finanzierungsgebühr auf Binance überprüfen?
Sep 13,2026 at 06:00pm
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Alle Artikel ansehen














