智能合约的 ABI(应用程序二进制接口)用于定义与以太坊智能合约交互的标准方法。本文详细介绍了 ABI 的构成,如何生成和使用 ABI,包括具体的示例代码,帮助开发者理解如何与智能合约进行有效的交互。
Solidity 中很多Hash函数, 如:keccak256 等需要bytes作为一个参数,这个时候有时需要把uint转化为bytes 。
这篇文章介绍了Smart Contract Fiesta,一个开放源代码的高质量数据集,包含超过1.75亿行以太坊智能合约源代码,涵盖约15万独特合约。该数据集旨在支持区块链社区的研究与开发,并促进智能合约的安全性与工具开发。
本文深入探讨了以太坊虚拟机(EVM)及其字节码的工作原理。文章介绍了虚拟机的基本概念、字节码结构、操作码以及EVM的执行环境,包括内存、栈、调用数据和存储的功能与特点,为理解EVM的运作提供了基础知识。
本文探索了使用可迭代映射来实现排序列表。
本文深入介绍了以太坊虚拟机(EVM)如何逐步执行合约的字节码,尤其是简单合约的部署过程。文章通过分步骤解析字节码和相关操作码,帮助读者理解合约执行的逻辑和流程。
本文详细介绍了如何在以太坊虚拟机(EVM)中直接编写字节码以返回"Hello World"字符串。作者通过解释每个EVM指令的功能,展示了如何在不使用Solidity的情况下创建合约,并且解释了与字节码交互的过程和注意事项。
数组与映射是如何存放在“存储槽”的?
在运行时错误是最常遇到的情况,你知道 Error 与 Panic 的细微差别吗? 发生 Panic 错误真的会消耗所有的 gas 么,本文揭晓答案。
Error
Panic
本文深入探讨了EIP-2535(Diamond标准)在区块链上创建模块化智能合约的原理与实践,介绍了其核心组件和特性,重点强调了智能合约的可升级性和模块化设计。通过一个实际操作示例,展示了如何使用Hardhat创建和部署基于Diamond标准的智能合约。
本文探讨了区块链工程师薪资的现实情况,指出许多教育者对高薪的夸大并不准确,想要获得高薪并没有快速的捷径。真正的高薪源于持续的学习和对技术的深入理解,而不仅仅是掌握一门编程语言。此外,作者还讨论了区块链行业的就业市场及其挑战,强调了对技术的兴趣与自我驱动的重要性。
本文详细介绍了以太坊中的签名机制,包括签名的原理、实现和应用。文章通过代码示例展示了如何在Solidity中验证签名,以及如何在客户端生成签名并调用验证函数。
从本章开始,我们来研究内存布局。
Solidity 是如何使用内存的?
这篇文章详细介绍了Solidity中的结构体(struct)及其用法,包括如何声明、实例化和作为函数参数传递结构体。通过示例代码,作者展示了如何利用结构体提高代码的可读性和效率,并提供了一个现实生活中的用例,如购票系统,帮助开发者理解结构体的实际应用。