-
bitcoin $78129.654352 USD
1.79% -
ethereum $2299.770407 USD
2.04% -
tether $0.998507 USD
0.02% -
bnb $702.546271 USD
1.39% -
xrp $1.275243 USD
1.78% -
usd-coin $0.999735 USD
0.01% -
solana $93.125039 USD
1.13% -
tron $0.321691 USD
0.32% -
zcash $1275.053782 USD
12.04% -
hyperliquid $85.075957 USD
1.63% -
monero $635.813581 USD
1.76% -
dogecoin $0.074823 USD
1.13% -
unus-sed-leo $9.292519 USD
-0.02% -
chainlink $11.109045 USD
-0.08% -
cardano $0.190836 USD
1.82%
Was sind Ansichten und reine Funktionen in der Solidität?
In Solidity, view functions read blockchain data without modifying it, while pure functions perform calculations without accessing or altering state variables.
Jul 22, 2025 at 12:00 pm
Verständnis des Konzepts der Sichtfunktionen in der Solidität
Bei Solidität ist eine Ansichtsfunktion eine Art von Funktion, die verspricht, den Status der Blockchain nicht zu ändern. Diese Funktionen werden normalerweise verwendet, um Daten aus der Blockchain abzurufen, ohne Werte zu ändern. Wenn eine Funktion als Ansicht gekennzeichnet ist, stellt sie sicher, dass sie nur Daten liest und keine Vorgänge ausführt, die den Zustand ändern, z. B. das Schreiben in Variablen, Erstellen von Verträgen oder das Senden von Äther.
Eines der wichtigsten Merkmale der Sichtfunktionen ist, dass sie aufgerufen werden können, ohne Gasgebühren zu ergreifen. Dies liegt daran, dass sie den Zustand nicht ändern, und daher können sie lokal von einem Knoten ausgeführt werden, ohne dass eine Transaktion erforderlich ist. Entwickler verwenden häufig Ansichtsfunktionen , um externen Zugriff auf Vertragsdaten zu gewährleisten, z. B. Abfragestalden, Abruf von Zuordnungswerten oder die Rückgabe des aktuellen Status eines Vertrags.
Es ist wichtig zu beachten, dass der Solidity Compiler, wenn eine Ansichtsfunktion versucht, den Status zu ändern, einen Fehler wirft. Dies stellt sicher, dass Entwickler das beabsichtigte Verhalten dieser Funktionen einhalten und die Integrität der Blockchain aufrechterhalten.
Erforschung reiner Funktionen in der Solidität
Eine reine Funktion der Solidität ist noch restriktiver als eine Ansichtsfunktion . Eine reine Funktion vermeidet nicht nur das Ändern des Zustands, sondern vermeidet auch das Lesen aus dem Staat. Diese Funktionen werden verwendet, wenn der Ausgang ausschließlich von den Eingabeparametern abhängt und nicht auf gespeicherte Daten innerhalb des Vertrags beruht.
Wie Ansichtsfunktionen müssen reine Funktionen kein Gas erfordern, wenn sie extern aufgerufen werden, da sie nicht mit dem Blockchain -Status interagieren. Sie sind besonders nützlich, um Berechnungen oder Transformationen auf der Grundlage von Eingabeträgern wie Hashing, mathematischen Operationen oder String -Manipulationen durchzuführen.
Wenn eine reine Funktion versucht, aus dem Status zu lesen oder in den Zustand zu schreiben, erhöht der Compiler einen Fehler. Diese strenge Durchsetzung hilft, unbeabsichtigte Nebenwirkungen zu verhindern und stellt sicher, dass diese Funktionen deterministisch und vorhersehbar bleiben.
So deklarieren Sie Ansicht und reine Funktionen
Die Erklärung einer Ansicht oder reine Funktion in der Solidität ist unkompliziert. Beide Schlüsselwörter werden der Funktionsdefinition nach der Parameterliste, jedoch vor der Return -Anweisung, hinzugefügt. So können Sie sie deklarieren:
Für eine Ansichtsfunktion :
function getBalance(address account) public view returns (uint) {return balances[account];}
Für eine reine Funktion :
function add(uint a, uint b) public pure returns (uint) {return a + b;}
Im ersten Beispiel zeigt das Schlüsselwort der Ansicht an, dass die Funktion nur aus den staatlichen variablen balances liest. Im zweiten Beispiel stellt das reine Schlüsselwort sicher, dass die Funktion keine Zustandsvariablen liest oder schreibt und nur eine Berechnung basierend auf den bereitgestellten Parametern durchführt.
Diese Modifikatoren sind für die Optimierung von Gasverbrauch und die Gewährleistung des richtigen Verhaltens von intelligenten Verträgen von wesentlicher Bedeutung.
Häufige Anwendungsfälle für Sicht und reine Funktionen
Ansichtsfunktionen werden häufig verwendet für:
- Abrufbalancen oder andere staatliche Variablen abrufen
- Rückgabevertragsmetadaten
- Erkenntnisse in den internen Zustand geben, ohne ihn zu ändern
Reine Funktionen werden typischerweise verwendet für:
- Mathematische Berechnungen durchführen
- Hashing- oder Codierungsdaten
- Validierung von Eingabeparametern ohne Zugriff auf den Vertragszustand
Durch die Verwendung dieser Funktionen angemessen können Entwickler sicherstellen, dass ihre Verträge effizient, vorhersehbar und vor unbeabsichtigten Änderungen sicher sind.
Best Practices bei der Verwendung von View und reinen Funktionen
- Markieren Sie immer Funktionen als Ansicht oder rein, wenn sie die Kriterien erfüllen. Dies hilft bei der Optimierung der Gaskosten und verbessert die Code -Lesbarkeit.
- Vermeiden Sie es, Ansichten oder reine Funktionen zu verwenden, wenn Sie Statusänderungen durchführen müssen. Dies führt zu einem Kompilierungsfehler.
- Verwenden Sie reine Funktionen für Versorgungsvorgänge, die sich nicht auf den Vertragszustand verlassen.
- Seien Sie vorsichtig, wenn Sie externe Anrufe in Sicht oder reinen Funktionen verwenden. Obwohl der Compiler dies zulässt, kann das Aufrufen von externen Verträgen unerwartete Verhaltens- oder Zustandsänderungen einführen.
Das Befolgen dieser Best Practices stellt sicher, dass Ihr intelligenter Vertrag für andere Entwickler sicher, effizient und leicht zu verstehen ist.
FAQ -Abschnitt
F: Kann eine Ansichtsfunktion eine reine Funktion aufrufen? Ja, eine Ansichtsfunktion kann eine reine Funktion ohne Probleme aufrufen, da beide den Status nicht ändern.
F: Ist es möglich, eine Funktion zu haben, die sowohl Ansicht als auch rein ist? Nein, eine Funktion kann nicht sowohl Ansicht als auch rein sein. Der reine Modifikator ist restriktiver und impliziert, dass die Funktion auch den Zustand nicht liest.
F: Was passiert, wenn ich versuche, den Status in einer reinen Funktion zu ändern? Der Solidity Compiler wirft einen Fehler auf, wenn eine reine Funktion versucht, aus dem Zustand zu lesen oder in den Zustand zu schreiben.
F: Kosten Gas, wenn sie nach außen aufgerufen werden? Nein, wenn Sie die Ansicht oder reine Funktionen extern anrufen, kostet das Blockchain -Status nicht Gas, da sie nicht ändern.
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.
-
RAY Jetzt handeln$1.73
13.78%
-
STX Jetzt handeln$0.3609
11.49%
-
INJ Jetzt handeln$7.92
10.36%
-
RENDER Jetzt handeln$1.61
8.50%
-
CAKE Jetzt handeln$2.01
7.95%
-
CRV Jetzt handeln$0.2754
7.95%
- Das DarkSword-Angriffstool nutzt iOS-Schwachstellen aus und stellt eine große Bedrohung für die Sicherheit von Kryptowährungs-Wallets dar
- 2026-11-05 04:45:02
- Krypto-Verlust einer französischen Bank: ZachXBT deckt mutmaßlichen 133-Millionen-Dollar-Raub bei Crédit Mutuel Arkéa auf
- 2026-11-04 16:55:01
- Demokraten sichern sich die Kontrolle im US-Repräsentantenhaus und läuten inmitten der Zwischenwahlen eine neue Ära für den Kongress ein
- 2026-11-04 16:45:01
- US Midterms, Prognosemärkte und Krypto-Wettbewerbe: Eine riskante Wette auf die Zukunft Washingtons
- 2026-11-04 04:30:22
- Digitale Vermögenswerte, globale Finanzen und KI: Navigieren durch die nächste Grenze bei DavosWeb3 und darüber hinaus
- 2026-11-04 04:30:22
- Avalanche AVAX-Preis sinkt aufgrund allgemeiner Marktprobleme; Das institutionelle Interesse bleibt groß
- 2026-11-03 12:35:02
Verwandtes Wissen
So berechnen Sie die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position
Oct 26,2026 at 04:06am
Gesamtkostenkomponenten für BTCUSDT-Futures-Positionen 1. Die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position umfassen sowohl explizite als...
So überwachen Sie die XRPUSDT-Finanzierungsraten und das offene Interesse gemeinsam
Oct 20,2026 at 06:39pm
Mechanik der Finanzierungsrate bei unbefristeten XRPUSDT-Verträgen 1. Die Finanzierungsraten für XRPUSDT Perpetual Swaps werden alle acht Stunden anha...
So legen Sie einen Break-Even-Stop-Loss für SOLUSDT Perpetual Futures fest
Oct 23,2026 at 09:34am
Verständnis der Break-Even-Stop-Loss-Mechanik 1. Ein Break-Even-Stop-Loss ist eine dynamische Order, die sich nach oben anpasst, wenn sich die Positio...
So verwenden Sie den Binance-Futures-Rechner für ETHUSDT-Trades
Oct 21,2026 at 02:00am
Verstehen der Schnittstelle des Binance-Futures-Rechners 1. Der Rechner ist direkt in die Binance-Futures-Handelsschnittstelle eingebettet und über di...
So überprüfen Sie den BTCUSDT-Markpreis vor einer Futures-Liquidation
Oct 26,2026 at 12:20pm
Markpreis in BTCUSDT-Futures verstehen 1. Der Markpreis ist ein berechneter Wert, der von Börsen verwendet wird, um unfaire Liquidationen bei volatile...
So passen Sie die Hebelwirkung eines unbefristeten TRUMPUSDT-Vertrags an
Oct 30,2026 at 10:19pm
Grundlegendes zur Mechanik des unbefristeten Vertrags von TRUMPUSDT 1. TRUMPUSDT ist ein thematischer, unbefristeter Terminkontrakt, der an mehreren T...
So berechnen Sie die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position
Oct 26,2026 at 04:06am
Gesamtkostenkomponenten für BTCUSDT-Futures-Positionen 1. Die Gesamtkosten für das Halten einer BTCUSDT-Futures-Position umfassen sowohl explizite als...
So überwachen Sie die XRPUSDT-Finanzierungsraten und das offene Interesse gemeinsam
Oct 20,2026 at 06:39pm
Mechanik der Finanzierungsrate bei unbefristeten XRPUSDT-Verträgen 1. Die Finanzierungsraten für XRPUSDT Perpetual Swaps werden alle acht Stunden anha...
So legen Sie einen Break-Even-Stop-Loss für SOLUSDT Perpetual Futures fest
Oct 23,2026 at 09:34am
Verständnis der Break-Even-Stop-Loss-Mechanik 1. Ein Break-Even-Stop-Loss ist eine dynamische Order, die sich nach oben anpasst, wenn sich die Positio...
So verwenden Sie den Binance-Futures-Rechner für ETHUSDT-Trades
Oct 21,2026 at 02:00am
Verstehen der Schnittstelle des Binance-Futures-Rechners 1. Der Rechner ist direkt in die Binance-Futures-Handelsschnittstelle eingebettet und über di...
So überprüfen Sie den BTCUSDT-Markpreis vor einer Futures-Liquidation
Oct 26,2026 at 12:20pm
Markpreis in BTCUSDT-Futures verstehen 1. Der Markpreis ist ein berechneter Wert, der von Börsen verwendet wird, um unfaire Liquidationen bei volatile...
So passen Sie die Hebelwirkung eines unbefristeten TRUMPUSDT-Vertrags an
Oct 30,2026 at 10:19pm
Grundlegendes zur Mechanik des unbefristeten Vertrags von TRUMPUSDT 1. TRUMPUSDT ist ein thematischer, unbefristeter Terminkontrakt, der an mehreren T...
Alle Artikel ansehen














