Immutable Variablen sind ähnlich wie konstante Variable, jedoch können Immutable Variablen innerhalb der Konstruktors (siehe Konstruktor) einmalig gesetzt werden.
Da der Konstruktor nur einmal aufgerufen wird, verhalten diese Variablen nachdem ersten Aufruf des Konstruktor gleich zu Konstanten.
In welchem Kontext werden Konstanten und Immutables verwenden?
Immtuble Variablen sind gut, wenn man ein NFT Template gebaut hat. Jede Kollektion möchte aber nicht zwangsweise ein Limit von 10.000 NFTs haben.
Um die Konstante nicht bei jedem Smart Contract anpassen zu müssen, könnte die maximale Anzahl an NFTs im den Konstruktor gesetzt werden, wo dann eine Immutable Variable den übergebenen Wert einmalig festgelegt.
// SPDX-License-Identifier: MIT pragma solidity ^0.8.13; contract Immutable { // Die Code-Konvetion der Konstanten gilt ebenfalls für Immutable Variablen address public immutable MY_ADDRESS; uint public immutable MY_UINT; constructor(uint _myUint) { MY_ADDRESS = msg.sender; // Hier wird der schlussendliche, der nicht veränderbare Werte einmalig gesetzt. MY_UINT = _myUint; } }
⬅️ Vorherige Lektion
Nächste Lektion ➡️