本文介绍了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智能合约开发中常见的五个陷阱,包括存储、内存和calldata的区别,重入攻击,默认public的可见性,使用tx.origin进行授权的风险,以及无限循环/高Gas成本问题。针对每个问题,文章都给出了具体的代码示例和修复方案,旨在帮助开发者构建更安全、更智能的智能合约。
本文探讨了成为Solidity开发者的重要性和步骤,强调了Web3和区块链技术的前景,为新手提供了一系列学习资源和实践经验,包括参加Bootcamp、掌握Solidity基础、使用工具、参与Hackathon及申请相关职位等。
本文详细介绍了Solidity中的错误处理机制,涵盖了如何使用assert、require和revert函数来管理错误和确保合约的原子性。
文章详细介绍了Solidity中的映射(mapping)功能,解释了其用法、限制以及在实际智能合约中的应用,特别是ERC20代币的实现。
本文介绍了在 Uniswap V4 PoolId.sol 合约中如何定义 PoolId 类型,并通过 PoolIdLibrary 库实现将 PoolKey 结构体转换为池子唯一 ID 的方法 toId。该方法利用 keccak256 哈希算法生成池子的 ID
PoolId
toId
keccak256
本文为Web3开发者提供了一份详细的10步学习指南,旨在帮助他们快速入门并掌握Web3开发技能。内容涵盖了从关注行业领袖、订阅新闻资讯、加入社群到参与实际项目、利用开发工具等多个方面,旨在为开发者提供全方位的学习资源和实践机会。
文章详细介绍了 Solidity 中的继承机制,包括如何使用 virtual 和 override 关键字实现函数重写,如何使用 super 关键字调用父合约的函数,以及如何处理多重继承和构造函数初始化。
virtual
override
super
本文介绍了Solidity的学习重要性、学习方法及核心概念。Solidity是以太坊及EVM兼容区块链的智能合约编程语言,学习Solidity不仅可以提供高收入的职业机会,还能帮助开发者构建影响深远的去中心化应用(dApps)。
本文介绍了如何使用 Tenderly 创建虚拟测试网,以及如何将智能合约部署到该测试网上,避免了在公共测试网上获取测试代币的麻烦。主要步骤包括在 Tenderly 上创建虚拟 RPC、安装 Hardhat 插件、更新 hardhat.config.ts 文件以及部署合约。