-
bitcoin $87959.907984 USD
1.34% -
ethereum $2920.497338 USD
3.04% -
tether $0.999775 USD
0.00% -
xrp $2.237324 USD
8.12% -
bnb $860.243768 USD
0.90% -
solana $138.089498 USD
5.43% -
usd-coin $0.999807 USD
0.01% -
tron $0.272801 USD
-1.53% -
dogecoin $0.150904 USD
2.96% -
cardano $0.421635 USD
1.97% -
hyperliquid $32.152445 USD
2.23% -
bitcoin-cash $533.301069 USD
-1.94% -
chainlink $12.953417 USD
2.68% -
unus-sed-leo $9.535951 USD
0.73% -
zcash $521.483386 USD
-2.87%
Was ist der Unterschied zwischen einer zahlbaren Funktion und einer nicht zahlbaren Funktion in Solidity?
In Solidity, only functions marked `payable` can receive Ether, preventing accidental or malicious fund transfers and ensuring secure contract design.
Nov 14, 2025 at 01:59 pm
Funktionsmodifikatoren in Solidität verstehen
In Solidity können Funktionen innerhalb von Smart Contracts spezifische Modifikatoren zugewiesen werden, die bestimmen, wie sie mit Ether interagieren. Diese Modifikatoren spielen eine entscheidende Rolle bei der Bestimmung, ob eine Funktion während der Ausführung Gelder erhalten kann. Der Unterschied zwischen zahlbaren und nicht zahlbaren Funktionen liegt in ihrer Fähigkeit, Ether als Teil einer Transaktion zu akzeptieren.
Kostenpflichtige Funktionen: Annahme von Ether-Überweisungen
1. Eine payable-Funktion wird explizit mit dem payable -Modifikator gekennzeichnet, sodass sie beim Aufruf Ether empfangen kann.
- Wenn ein Benutzer Ether zusammen mit einer Transaktion sendet, die eine zahlbare Funktion aufruft, werden die Gelder auf den Vertragssaldo übertragen.
- Ohne den Modifikator „payable“ führt der Versuch, Ether an eine Funktion zu senden, zu einem Transaktionsfehler.
- Bezahlbare Funktionen sind für Funktionen wie Crowdfunding, Spenden oder jeden Mechanismus, bei dem Benutzer direkt über Funktionsaufrufe Geld beitragen, unerlässlich.
- Innerhalb einer Payable-Funktion können Entwickler über msg.value auf den gesendeten Betrag zugreifen, der die Anzahl der empfangenen Wei enthält.
Nicht zahlungspflichtige Funktionen: Eingehenden Ether ablehnen
1. Standardmäßig sind Funktionen in Solidity nicht zahlungspflichtig, sofern nicht anders angegeben.
- Wenn eine Transaktion versucht, Ether an eine nicht zahlbare Funktion zu senden, wird die gesamte Transaktion rückgängig gemacht, um einen versehentlichen Verlust von Geldern zu verhindern.
- Dieses Verhalten schützt sowohl Benutzer als auch Vertragslogik vor unbeabsichtigten Ether-Transfers.
- Nicht zahlbare Funktionen eignen sich für Vorgänge, die nur den Status ändern oder Daten lesen, ohne dass finanzielle Eingaben erforderlich sind.
- Selbst wenn eine Funktion Ether nicht erwartet, führt der Aufruf mit msg.value > 0 zu einer Laufzeitausnahme, wenn sie nicht als zahlbar markiert ist.
Praktische Implikationen bei der Gestaltung intelligenter Verträge
1. Wenn eine Funktion fälschlicherweise als nicht zahlbar gekennzeichnet wird, obwohl sie eigentlich Gelder annehmen sollte, kann dies zu Kernfunktionen wie Token-Käufen oder Absteckmechanismen führen.
- Umgekehrt erhöht das Markieren unnötiger Funktionen als kostenpflichtig die Angriffsfläche, insbesondere wenn eine ordnungsgemäße Validierung rund um msg.value fehlt.
- Entwickler müssen alle nach außen gerichteten Funktionen sorgfältig prüfen, um die korrekte Handhabung der Ether-Flüsse sicherzustellen.
- Tools wie statische Analysetools und Test-Frameworks helfen dabei, eine fehlerhafte Verwendung des Payable-Modifikators vor der Bereitstellung zu erkennen.
- Bei komplexen Verträgen verbessert die Unterscheidung zwischen Mittelempfangs- und Versorgungsfunktionen die Klarheit und Sicherheit des Codes.
Häufig gestellte Fragen
Kann ein Bauunternehmer zahlungspflichtig sein? Ja, ein Bauunternehmer kann als zahlbar markiert werden. Dadurch kann der Vertrag Ether während der Bereitstellung akzeptieren. Wenn die Bereitstellungstransaktion eine Wertübertragung beinhaltet, muss der Konstruktor zahlbar sein, um eine Rückabwicklung zu vermeiden.
Was passiert, wenn ich mit Ether eine nicht zahlbare Funktion aufrufe? Die Transaktion wird automatisch zurückgesetzt und es treten keine Statusänderungen auf. Ethereum erzwingt diese Regel auf EVM-Ebene, um versehentliche Ether-Übertragungen an Funktionen zu verhindern, die nicht dafür ausgelegt sind.
Gibt es eine Möglichkeit, alle Funktionen in einem Vertrag standardmäßig zahlbar zu machen? Nein, jede Funktion muss einzeln als entgeltlich deklariert werden. Es gibt keine globale Einstellung, die dafür sorgt, dass jede Funktion Ether akzeptiert. Dieses Design gewährleistet eine zielgerichtete und sichere Abwicklung der Geldannahme.
Können Fallback-Funktionen Ether erhalten, wenn sie nicht zahlbar sind? Nein, auch Fallback-Funktionen müssen als kostenpflichtig markiert werden, um Ether zu akzeptieren. Eine nicht zahlbare Fallback-Funktion lehnt jeden eingehenden Ether ab, der an den Vertrag gesendet wird, ohne einen Funktionsaufruf anzugeben.
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.
-
RAIN Jetzt handeln$0.007852
113.00%
-
PIPPIN Jetzt handeln$0.06097
51.96%
-
PARTI Jetzt handeln$0.1396
42.04%
-
WAVES Jetzt handeln$0.9141
41.69%
-
ARC Jetzt handeln$0.04302
35.73%
-
HONEY Jetzt handeln$0.01029
21.80%
- Bitcoin, eCash Fork und Airdrop Dynamics: Ein tiefer Einblick in die neuesten Kontroversen im Kryptobereich
- 2026-05-03 12:55:01
- Konsens 2026 Miami: Web3, Blockchain, Kryptowährung, NFTs, Metaverse, Konferenz, 5. Mai – Wo die Wall Street auf die digitale Grenze trifft
- 2026-05-02 12:45:01
- Die Fed hält die Zinsen stabil, was inmitten geopolitischer Spannungen einen Bitcoin-Preisverfall auslöst
- 2026-05-01 06:45:01
- Bitcoin-Miner elektrifizieren das Netz: Der Erwerb eines Gaskraftwerks in Ohio läutet eine neue Ära für digitales Gold ein
- 2026-05-01 00:45:01
- Der MEGA-Token von MegaETH erreicht den Big Apple: Er setzt neue Leistungsmaßstäbe für Echtzeit-Blockchain
- 2026-05-01 00:55:01
- Solanas rutschiger Abhang: Die Preisprognose deutet auf einen Widerstandsverlust und mögliche weitere Rückgänge hin
- 2026-05-01 06:45:01
Verwandtes Wissen
Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?
Jun 06,2026 at 02:54am
Vertragsabwicklungsmechanismen 1. Lineare unbefristete Verträge auf Bybit werden in USDT abgewickelt, was bedeutet, dass alle Gewinn- und Verlustberec...
Wie kann man Terminmarktmanipulationen wie Stoppjagden und Spoofing erkennen und vermeiden?
Jun 07,2026 at 02:20pm
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?
Jun 04,2026 at 04:40pm
Konfiguration des Verlustlimits auf Kontoebene 1. Melden Sie sich per Web- oder Mobilanwendung mit Zwei-Faktor-Authentifizierung bei Ihrem Bybit-Konto...
Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?
Jun 05,2026 at 04:59am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?
Jun 04,2026 at 03:59am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?
May 29,2026 at 06:19pm
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...
Wie kann man bei Bybit für den BTC-Handel zwischen linearen und inversen unbefristeten Verträgen wählen?
Jun 06,2026 at 02:54am
Vertragsabwicklungsmechanismen 1. Lineare unbefristete Verträge auf Bybit werden in USDT abgewickelt, was bedeutet, dass alle Gewinn- und Verlustberec...
Wie kann man Terminmarktmanipulationen wie Stoppjagden und Spoofing erkennen und vermeiden?
Jun 07,2026 at 02:20pm
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie richte ich Risikomanagementregeln auf Bybit ein, um meinen maximalen täglichen Verlust zu begrenzen?
Jun 04,2026 at 04:40pm
Konfiguration des Verlustlimits auf Kontoebene 1. Melden Sie sich per Web- oder Mobilanwendung mit Zwei-Faktor-Authentifizierung bei Ihrem Bybit-Konto...
Wie aktiviere ich den Portfolio-Margin-Modus auf Binance, um meine Margin-Anforderungen zu reduzieren?
Jun 05,2026 at 04:59am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie kann ich meine offenen Futures-Positionen von Binance zu Bybit migrieren, ohne sie zu schließen?
Jun 04,2026 at 03:59am
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt einen festen Ausgabeplan, bei dem die Blockbelohnungen etwa alle 210.000 Blöcke halb...
Wie geht man mit den steuerlichen Auswirkungen von Gewinnen aus dem Krypto-Futures-Handel in den USA um?
May 29,2026 at 06:19pm
Bitcoin Halbierungsmechanik 1. Das Protokoll von Bitcoin erzwingt eine feste Angebotsobergrenze von 21 Millionen Münzen, wobei neue Einheiten durch Bl...
Alle Artikel ansehen














