Solidity

Yul中“slot”屬性的含義?

  • October 3, 2022

我正在閱讀 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

引用自:https://ethereum.stackexchange.com/questions/136823