Solidty的gas优化关键点在于减少storage和内存的读写。
以太坊在内部实现了一个基于栈的虚拟机,我们称之为EVM(Ethereum Virtual Machine),用户所有的操作最终都会转化为操作码(OPCODE)然后在EVM中执行,下图为整个执行流程,目前我们对EVM的讲解不多,后续会陆续补上。
有三种主要的技术可以防止重入:检查、效果、交互(CEI),重入保护/互斥,提款支付。此外,最后一种方法可能是有效的,但不推荐:限制gas
一个相对完整的ERC20代币合约
RLP(Recursive Length Prefix)即递归长度前缀编码,RLP主要用于以太坊数据的网络传输和持久化存储。 说明:十六进制表示数字前面会加‘0x’, 十进制直接用数字表示,如0x80和128是一个数字的不同表示,只占用一个字节。
0x80
128
通过一个Capture the Ether挑战(模糊身份)来说明CREATE2的用法
CREATE2
最近,我们监控到了一笔抢跑的攻击事件,被攻击者是HopeLend
编者按:Vyper被黑的时间线和反思从审计的角度重现并提醒开发者注意考虑项目的依赖,本文从开发的角度深度分析并总结了这次漏洞的前因后果
以太坊主网节点搭建
Move Prover的入门指导