本文介绍了Solidity中的存储变量,并通过代码示例详细解释了存储变量的声明、使用以及不同修饰符(如pure、view、public和internal)的区别。文章还强调了存储变量的持久性和其对区块链状态的影响。
pure
view
public
internal
本文为区块链开发初学者提供了全面的工具和资源指南,涵盖了编程语言、IDE、框架、库,以及在线课程、学习平台和社区等。此外,还探讨了区块链安全基础、常见漏洞以及开发者的最佳实践,并深入研究了以太坊平台,包括其功能、开发者机会、监管合规等方面。
OpenZepplin 虽然提供了支持元交易的工具类(metatx 目录下),但并未对元交易场景提供完整的支持,甚至在其 MinimalForwarder.sol 的源代码的注释中都建议采用别的框架。这个框架就是本文主题:OpenGSN。
这篇文章讨论了如何在自动化验证的背景下应用突变测试,介绍了一个名为Gambit的开源突变生成器,该工具用于增强Solidity智能合约的测试,并与Certora Prover工具集成。文章深入探讨了突变测试在提高正式规范质量和识别安全漏洞方面的重要性,并提供了视觉化结果的相关信息,展示了突变检测的效果和改进方向。
本文深入浅出地讲解了Solidity语言中的面向对象编程(OOP)概念,包括类(合约)、实例、继承和封装,通过生动的类比(如汽车蓝图)和代码示例,解释了这些概念在Solidity中的应用,并探讨了如何在实际的Web3场景中使用这些OOP概念来构建模块化、安全、可扩展的智能合约,最后提供了一个练习仓库地址。
该文章详细介绍了Solidity中的selfdestruct关键字,包括其定义、工作原理、用途以及相关示例。文章回顾了selfdestruct的历史及其在以太坊智能合约中的重要性,同时讨论了使用该功能的安全性问题与潜在风险。尽管功能已在以太坊的上海升级中被弃用,但文章提供的背景与实例仍具有参考价值。
本文介绍了Solidity中的变量(包括状态变量、局部变量和全局变量)、数据类型(如uint、bool、address、string等)以及函数的概念和常用修饰符(public、private、view、pure等)。并通过一个简单的MyProfile合约示例,演示了如何存储和更新名称,以及如何返回当前名称。文章还提供了一个小挑战,鼓励读者创建一个新的智能合约。
本文介绍了如何使用Solidity编写一个简单的智能合约,该合约能够在以太坊区块链上存储和检索数据。文章通过一个SimpleStorage合约的例子,讲解了状态变量的声明、set和get函数的编写,以及如何在Remix IDE中部署和交互该合约。
SimpleStorage
set
get
zkSync 2.0 更新了其路线图,计划在2021年5月推出zkEVM测试网络,并在8月上线主网。同时,zkSync 1.x 将在春季支持NFTs和交换功能。zkSync 2.0 将支持基于EVM的编程模型、现有的Solidity源代码移植性、所有以太坊钱包的原生支持,以及超过20,000 TPS的可扩展性。
本文是Solidity入门教程的第二天内容,主要讲解如何搭建Solidity的开发环境,包括安装MetaMask钱包,使用Remix IDE,以及可选的Hardhat本地开发环境。并通过一个简单的Hello Web3合约示例,演示了合约的编写、编译和部署过程,以便读者快速上手Solidity智能合约开发。
本文概述了Web3开发中最重要的编程语言,包括智能合约编程语言(如Solidity, Vyper, Huff, Rust, Move, Cairo, Haskell)和前端编程语言(如HTML, CSS, JavaScript, TypeScript)。文章旨在帮助开发者选择合适的语言,并开始构建他们的第一个dApp,同时强调了选择语言时应考虑的区块链生态系统和开发目标。
本文介绍了Instance Registry Pattern,该模式使用中心化的智能合约来管理其他已部署合约的地址。通过在注册表中注册合约,可以动态查找依赖项,更新合约地址,并实现更清晰的架构和更安全的访问。
本文探讨了成为Solidity开发者的重要性和步骤,强调了Web3和区块链技术的前景,为新手提供了一系列学习资源和实践经验,包括参加Bootcamp、掌握Solidity基础、使用工具、参与Hackathon及申请相关职位等。
本文详细介绍了Solidity中的错误处理机制,涵盖了如何使用assert、require和revert函数来管理错误和确保合约的原子性。
OpenZeppelin 对 ink! 和 cargo-contract 进行了安全评估,未发现严重问题,但发现了两个高危问题,Parity 团队正在解决。