本文深入探讨了Solidity中的ABI编码机制,详细解释了函数选择器和参数编码的原理,特别是静态类型和动态类型的编码方式,并通过一个实际的调用数据解析示例展示了如何手动解码ABI编码的数据。
Web3开发必知:Solidity内存布局(Storage、Memory、Stack)解析在以太坊智能合约开发中,Solidity的内存布局是确保合约高效运行的核心。理解Storage(存储区)、Memory(内存区)和Stack(栈)三种存储位置的特性与用途,不仅有助于优化gas成本,还能提升合
本文介绍了Yul语言的基础知识,Yul是一种用于在智能合约中编写汇编语言的中间编程语言。文章通过示例讲解了Yul的变量赋值、操作、循环、条件语句、存储和内存管理,以及如何执行合约调用。
本文深入探讨了Solidity库的工作原理,详细介绍了如何使用delegatecall()调用库函数,以及如何创建和发布一个Solidity库。文章还讨论了库与智能合约的关键区别,并提供了多个代码示例来演示库的使用方法。
delegatecall()
本文介绍了如何使用Yul优化智能合约以节省Gas费用。通过对比纯Solidity、Solidity与内联汇编、以及纯Yul编写的智能合约,展示了Yul在Gas优化中的优势,并通过石头剪刀布游戏的实例详细讲解了各合约的实现和Gas消耗对比。
本文介绍了 Solidity 中的元组(tuple)数据类型,阐述了其基本特征及用法,提供了简单的函数示例,并指出元组可以解包以获取内部变量。此外,还提供了实践问题以帮助读者加深理解。
本文详细讲解了如何通过ABI smuggling漏洞在DamnVulnerableDefi挑战中绕过权限控制并窃取资金,利用Solidity中的calldata结构缺陷实现攻击。
本文介绍了如何为NFT编写单元测试,包括验证铸造后NFT的拥有者、检查合约余额以及确保提款时的以太币余额变化等关键点,并引导读者访问相关资源进行进一步学习。
在本教程中,将了解帮助我们将资金从一个帐户转移到另一个帐户的三个函数,以及推荐的方法。
开坑使用Hardhat闯关Ethernaut CTF题,提高合约和测试脚本的能力,后续也会增加Paradigm CTF的闯关题目。
玩转Web3:用Viem库实现以太坊合约部署与交互想一窥Web3开发的奥秘?以太坊智能合约是通往区块链世界的大门,而Viem库让你轻松迈出第一步!本文通过一个TypeScript脚本,带你从连接本地以太坊测试网到部署合约、实现交互,全程手把手实战。不管你是Web3新手还是想探
本文介绍了Solidity中的位移操作及其应用,包括数据类型的转换、特定位的提取和设置。同时,文章还深入探讨了在YUL汇编中进行存储读取和写入时如何应用位移和掩码技术。
怎么获得和交易goerli测试币?今天给大家详细介绍一下怎么获得goerli测试网的测试币。
java用headlong构建请求体
最省GAS链上排序