在本节中,我们将详细讲解官方文档中的 100% Yul 实现的 ERC20 合约。
100% Yul 合约。
让我们来看一下如何使用 Yul 编写一个合约,并使其能够接受外部调用。
本文将介绍两种常见转账的实现方式,以及它们在 Yul 中的对应写法和 gas 费用的比较。
可变长度的数据,ABI 采用了一种指针和数据分离的方式进行编码。
关于合约之间调用的指令 call、callcode、delegatecall 和 staticcall。
call
callcode
delegatecall
staticcall
在 Solidity 中关于 tx.data 有约定俗成的用法。
关于 log 的指令。
log
本章我们来看看 return(p, s) revert(p, s) keccak256(p, n) 这三条指令。
return(p, s)
revert(p, s)
keccak256(p, n)
一些内存使用的注意事项。