在本节中,我们将详细讲解官方文档中的 100% Yul 实现的 ERC20 合约。
一些内存使用的注意事项。
在这最后一节,我们将看一些 Yul 中相对较少使用的指令。
数组与映射是如何存放在“存储槽”的?
从本章开始,我们来研究内存布局。
Solidity 是如何使用内存的?
本章我们来看看 return(p, s) revert(p, s) keccak256(p, n) 这三条指令。
return(p, s)
revert(p, s)
keccak256(p, n)
关于 log 的指令。
log
在 Solidity 中关于 tx.data 有约定俗成的用法。
关于合约之间调用的指令 call、callcode、delegatecall 和 staticcall。
call
callcode
delegatecall
staticcall
可变长度的数据,ABI 采用了一种指针和数据分离的方式进行编码。
本文将介绍两种常见转账的实现方式,以及它们在 Yul 中的对应写法和 gas 费用的比较。
让我们来看一下如何使用 Yul 编写一个合约,并使其能够接受外部调用。
100% Yul 合约。
本文主要介绍了直接在函数中 "引用" Storage;ERC-7201:命名空间存储布局,通过 assembly 在我们想要的 slot 位置定义状态变量