本文探讨了学习区块链开发的挑战,强调学习Solidity的重要性,无论是对于希望在非EVM区块链上开发的Rust程序员还是初学者。文章详细讨论了区块链与传统编程框架的不同点,并建议先熟悉区块链环境,再深化对Rust的学习,避免同时学习两种新概念。总结了学习路径和资源的选择,强调了方法论的重要性。
使用Create2工厂(0x0000000000ffe8b47b3e2130213b802212439497)创建合约并在etherscan验证
本文深入探讨了以太坊虚拟机(EVM)的架构、工作原理、指令集、执行过程、安全性和性能优化。EVM作为以太坊的核心组件,负责执行智能合约和处理交易。文章详细介绍了EVM的内存结构、存储布局、关键操作码,以及Solidity代码如何转换为EVM字节码并在以太坊上执行的过程,此外,还讨论了gas优化策略和智能合约安全性问题。
本文介绍了以太坊对象格式(EOF)及其对EVM的影响。EOF通过EIPs引入了新的验证和操作码,旨在构建更友好的EVM。EOF的特性包括改进的代码结构、静态分析、更大的堆栈空间、代码验证、JUMPDEST分析、新的合约创建方式和改进的CALL指令,从而提高了开发者的体验和合约性能。
本文档介绍了 ERC-1155 多代币标准,该标准由三个接口组成,分别定义为 IERC1155、IERC1155MetadataURI 和 IERC1155Receiver。ERC1155 实现了强制性的 IERC1155 接口和可选扩展 IERC1155MetadataURI。此外,还有多个自定义扩展,包括指定可以暂停所有用户代币转账的地址,以及销毁自有代币。
本文探讨了区块链开发中gas优化的各种策略,通过代码示例,将优化方法归为架构级优化(合约设计模式)、代码级优化(开发者控制)和部署优化三个类别。内容涉及变量类型选择与布局、存储设计、函数设计、逻辑与循环优化、事件与错误处理、工具与测试、以及汇编层面的优化技巧,旨在降低gas消耗,提高合约执行效率和用户体验。
本文档提供了一份详细的指南,旨在帮助用户在Mainnet上验证proof verifier智能合约(elderberry-fork.8)的部署。主要内容包括:准备工作站环境、安装和配置circom、编译生成verifier智能合约、编译合约、下载已部署合约的字节码,并最终比对两者是否一致,以验证部署的正确性。
本文档介绍了OpenZeppelin Contracts库中与ERC20代币标准相关的接口、合约和实用程序。核心合约实现了EIP中指定的行为,并提供了一系列自定义扩展,例如无gas token批准、销毁token、限制token供应、暂停token转移等。此外,还包括了与ERC20合约交互的多种实用程序。
Solidity 开发基础: 使用Remix、数据类型(整型、地址、合约、数组、结构体、映射)介绍;函数修改器、事件、错误处理、库的使用。
本文介绍了一种新的代币发行机制,即可变速率GDA(VRGDA),通过调整价格来控制代币的发行速度,使其接近自定义的时间表。当销售进度超前于时间表时提高价格,而当销售进度落后于时间表时降低价格,是对GDA机制的推广。文中给出了机制的概述和Solidity实现,以及几个示例时间表。
本文是Huff技术深入探讨系列的第二部分,对比了Huff、Solidity和Yul的特性及gas消耗,并完成了ERC20合约的实现,包括approve、allowance和transferFrom宏。此外,文章还介绍了使用Foundry进行测试和部署的工作流程,并通过架构图展示了合约的结构组成。
本文讨论了在Solidity智能合约中优化Gas消耗的方法,尤其是如何使用uint256代替布尔值,以减少不必要的SLOAD操作,进而节省Gas成本。文章通过示例展示了优化前后的Gas消耗差异,并提及相关工具与资源以帮助读者进一步了解气体优化策略。
Solang 是一个为 Solana 设计的 Solidity 编译器,旨在帮助以太坊开发者更容易地迁移到 Solana 平台。它允许使用 Solidity 语言开发智能合约,从而降低学习曲线,减少开发时间。文章详细介绍了编译器的工作原理、Solang 的优势、对 Solana 程序的影响以及如何入手使用 Solang。
本文介绍了以太坊智能合约的基本概念、工作原理及部署方法,详细说明了如何使用 Remix IDE 编写、编译和部署智能合约,并提供了一个简单的示例代码。
Solidity 中一些实践中经常遇到的问题