EVM—calldata存储空间详解

EVM—calldata存储空间详解文章旨在记录过去所学知识,若文章内容存在不当,欢迎指出。若对文章内容感兴趣,也欢迎评论区留言讨论!文章部分图片取自本人其他博客。一、Calldata的结构EVM中的主要数据存储结构包括Storage、Memeory、Stack、Calldata。本章主要介绍

  • KEN
  • 发布于 2024-04-19
  • 阅读 ( 296 )
  • ( 85 )

调用,预编译和编译器到底是怎么工作的

调用,预编译和编译器到底是怎么工作的

  • OpenBuild
  • 发布于 2024-04-15
  • 阅读 ( 230 )
  • ( 14 )

指南:使用 Yul 编写 ERC20 合约

探讨如何使用 Yul 编写 ERC20 代币合约,实现一个高度Gas 优化,同时遵循 ERC20 标准的合约

Michael.W基于Foundry精读Openzeppelin第53期——ERC20PresetFixedSupply.sol

ERC20PresetFixedSupply库是一种带预铸造功能的ERC20实现,即在合约部署时直接将全部流通量都铸造给某一地址且部署后无法增发。该库同时继承了ERC20Burnable库,支持销毁和委托销毁功能。

深入研究智能合约反编译

探究如何将原始字节码转换为可读的 Solidity 代码及其对应的应用程序二进制接口(ABI)

  • Tiny熊
  • 发布于 2024-01-17
  • 阅读 ( 1782 )
  • ( 106 )

智能合约设计模式:代理

深入探讨可升级合约的架构

Solidity 面试问题汇总

Solidity 面试问题汇总

Solidity Gas优化:高效的智能合约策略

文章从比较全面介绍各种优化gas 的方法,如何优化存储、利用退款、数据类型和打包、使用事件、设计函数等。

Solidity开发者应掌握的十个智能合约

Solidity开发者应掌握的十个智能合约: ERC-20 合约,ERC-721 合约,简单拍卖合约,众筹合约,托管合约,多签钱包合约,投票合约,域名注册合约,预测市场合约,游戏合约

OpenZeppelin Contracts 5.0 版本发布

OpenZeppelin Contracts 5.0 版本:更好的 Gas 效率,更优的代码结构。

Gas 优化手册

本手册涵盖了合约部署、跨合约调用、设计模式、Calldata优化、汇编技巧、编译器等等各个方面的优化技巧!不管你是新手还是老手,这本手册都能给你带来惊喜和启发!

  • DeCert.me
  • 发布于 2023-09-18
  • 阅读 ( 956 )
  • ( 33 )

推荐一个Solidity 数字格式化库: solpretty

合约里的数值通常非常大, 肉眼阅读非常费劲,solpretty 可以让对数字进行漂亮的格式化。

  • ChainTool
  • 发布于 2023-09-14
  • 阅读 ( 1474 )
  • ( 85 )

深入了解 Solidity bytes

你是否知道大端小端的概念,其定义了是高位数据先保存还是地位数据先保存,EVM 是用 大端格式存储数据,我们知道 EVM 使用 32 字节的字来处理数据,当数据不足 32 个字节时,如何填充数据呢?bytes 有哪些操作详见本文。

Solidity 编码规范推荐标准

Solidity 编码规范推荐标准, 作者列出了 15 条非常使用的规则, 例如:指定固定的编译器版本、导入代码时指定版本, 并使用命名导入,以及变量命名时注意事项。

Chisel : Foundry 提供的 Solidity 交互式命令工具

Chisel是随Foundry提供的高级SolidityREPL(交互式命令工具)。它可用于在本地或Fork网络上快速测试Solidity片段。

  • Tiny熊
  • 发布于 2023-08-19
  • 阅读 ( 1455 )
  • ( 18 )

Ethernaut 题库闯关 - Alien Codex 题解

Ethernaut 题库闯关追更, 挑战 AlienCodex 合约, 通过本挑战,我们将更深刻的理解 Solidity 的数据存储,以及如何通过写数组达到写插槽的效果。

Solidity 开发教程 - Solidity 开发基础系列

Solidity 开发基础: 使用Remix、数据类型(整型、地址、合约、数组、结构体、映射)介绍;函数修改器、事件、错误处理、库的使用。

  • DeCert.me
  • 发布于 2023-08-08
  • 阅读 ( 857 )
  • ( 20 )

深入理解 Solidity 错误 #4 - try/catch

Solidity 的try/catch 语法和常见的语言中的表现不一样,try { } 块中的代码错误是无法被catch 的,这一点要小心要非常小心。

  • Tiny熊
  • 发布于 2023-08-04
  • 阅读 ( 1349 )

深入理解 Solidity 错误 #3 - 错误处理

在深入理解 Solidity 错误"的第三篇, 探索处理错误,本文将揭晓这问问题的答案:asset 错误会消耗所有 gas 吗? require 提不提供错误字符有什么样的不同?外部调用的错误如何影响当前上下文?如何处理底层调用调用产生的错误?

  • Tiny熊
  • 发布于 2023-08-03
  • 阅读 ( 1564 )

深入理解 Solidity 错误 #2 - 运行时错误

在运行时错误是最常遇到的情况,你知道 ErrorPanic 的细微差别吗? 发生 Panic 错误真的会消耗所有的 gas 么,本文揭晓答案。

  • Tiny熊
  • 发布于 2023-08-02
  • 阅读 ( 1307 )