Math库为合约开发提供了solidity内置的uint256运算以外的其他整形运算方法。solidity内置的整形运算,每一步都会做overflow revert(除非unchecked{}),而Math库会在不影响结果准确性的前提下利用位溢出进行更加tricky的操作。
本节课将用最简单的语言、最少的废话来帮助同学们用最短的时间学习hardhat,全网独家!
Create2库本质就是对EVM opcode CREATE2进行的一个封装,可以让开发者在非内联汇编环境下直接使用该opcode。 CREATE2是一种可提前计算合约部署地址的合约部署opcode。而传统的合约部署是通过opcode CREATE完成的。
Multicall库提供了一个multicall(bytes[] calldata data)方法,通过该方法可以由调用者在一笔交易中自由组合调用本合约的各个可外部调用的方法。
multicall(bytes[] calldata data)
Context库是合约开发中最常见的库,同时也是最让人迷惑的库。合约代码里面只将msg.sender和msg.data封装成了函数,感觉多此一举。实际上,本库不提供任何context环境切换的细节功能,而是需要目标合约中重写这两个函数起到了可编辑msg.sender和msg.data的目的。
什么是Assembly在编写Solidity代码时,我们可以使用assembly{}关键字开始编写Yul代码,它是一种简化且扩展了的汇编语言。通过使用assembly,我们可以直接访问堆栈,并优化代码以提高内存效率,从而减少执行交易所需的燃气量。这最终降低了用户的交易成本。然而,在可读性方面存
什么是foundry?foundry是一个solidity智能合约开发工具。可以帮你管理依赖包,编译项目,运行测试脚本,还可以让你通过命令行工具或者script脚本和链上合约进行交互。和hardhat不同的地方是,hardhat我们还是主要用来开发大型的合约项目,但是foundry用来进行编写测试
从foundry工程化的角度详细解读Openzeppelin中的Timers库及对应测试。
从foundry工程化的角度详细解读Openzeppelin中的Strings库及对应测试。
从foundry工程化的角度详细解读Openzeppelin中的Counters库及对应测试。
从foundry工程化的角度详细解读Openzeppelin中的Base64库及对应测试。
在这篇文章中,详细说明的事件的日志是如何生成,索引是如何影响日志的生成,字符串等变长数据是如何处理的。同时介绍了在前端如何获取事件。
从foundry工程化的角度详细解读Openzeppelin中的Arrays库及对应测试。
从foundry工程化的角度详细解读Openzeppelin中的StorageSlot库及对应测试。
Remix v0.34.0 更新重点:Etherscan 验证代码更好用, 还支持代理合约验证、全新的 Solidity 分析器, 适配 WalletConnect v2.0
从foundry工程化的角度详细解读Openzeppelin中的Address库及对应测试。
slither API中常用对象结构解析
Yul 入门指南
一段Solidity汇编代码逻辑整理
使用Create2工厂(0x0000000000ffe8b47b3e2130213b802212439497)创建合约并在etherscan验证
扫一扫 - 使用登链小程序
42 篇文章,403 学分
75 篇文章,301 学分
30 篇文章,255 学分
11 篇文章,171 学分
158 篇文章,165 学分