Solidity
Yul中“slot”屬性的含義?
我正在閱讀 ERC721A 可升級的 ERC721AStorage.sol 的實現並找到了這個函式
function layout() internal pure returns (Layout storage l) { bytes32 slot = STORAGE_SLOT; assembly { l.slot := slot } }
我特別想知道
l.slot
. 我猜該屬性在Yul中與storage slotslot
有特殊含義,但我真的不知道這是否正確。我在哪裡可以了解它是如何工作的?我通讀了https://docs.soliditylang.org/en/latest/yul.html並沒有看到任何具體的內容,但也許我錯過了什麼?$$ EDIT $$: 這個例子展示了使用 slot 來儲存和檢索,但我仍然沒有找到任何文件或對此的良好解釋。
槽是一個詞,用來描述 Yul 中堆棧和儲存的位置。您可以查看此資源以了解有關插槽如何工作的更多資訊:
https://docs.soliditylang.org/en/v0.8.13/assembly.html#memory-safety