本文是30天Solidity学习系列的第1天,主要介绍了Solidity是什么,以及为什么要学习Solidity。Solidity是一种用于在以太坊虚拟机(EVM)上编写智能合约的静态类型、高级编程语言。学习Solidity可以用于DeFi、NFT、DAO、游戏等领域的开发,并且Solidity开发者有很高的市场需求。
文章介绍了Solidity中的onlyOwner修饰符及其在智能合约中的应用,特别讨论了Ownable2Step相较于Ownable的安全性改进,包括所有权转移的两步验证机制。
onlyOwner
本文主要关注以太坊智能合约的进阶操作,包括合约的四种调用方式、合约的创建、地址预测、发送 eth 的三种方法、接收 eth 的三种不同方法等内容。通过 solidity 代码配合 foundry 进行测试。适合新手小白学习
本文详尽介绍了ERC-20代币标准,包括其定义、使用方式、Solidity必需的函数以及可选的扩展功能。文章结构清晰,内容丰富,适合开发者理解并创建ERC-20代币。
本文详细介绍了Solidity中的函数类型,包括视图函数、纯函数、特殊函数和回退函数,以及函数的可见性属性。
文章介绍了 Solidity 中的 receive 函数以及如何使用 external 和 payable 修饰符来接收和发送以太币。还包括了如何通过合约调用钱包地址进行以太币转账的示例。
receive
external
payable
文章介绍了在Solidity中使用constant关键字定义不可变变量,并提供了一个ERC20代币合约中定义最大供应量的示例代码。
constant
本文为OpenZeppelin开展的EIP-4337审计安全评估,详细分析了智能合约的高严重性问题及其他找出的潜在安全漏洞,提供了相关的修复更新信息和对文档的改进建议,同时提出了对监控合约活动的推荐。全面探讨了包括代码库中的建议更改、bug修复和更新方法。
本文介绍了Balancer的智能池的灵活性,重点讨论了流动性引导池(LBPs),这种智能池模板使团队能够在项目启动时释放代币并建立深厚的流动性。文章详细探讨了LBPs的背景、设计原理以及示例,强调了其对流动性创建的优势和应用潜力。
文章简要介绍了Solidity中if语句的使用方式,并提供了几个简单的代码示例,说明了Solidity与其他编程语言在if语句使用上的不同。
BuildBear是一个平台,旨在帮助用户高效调试区块链DApps,提供个性化节点创建、区块链浏览器和假币获取功能。文章包括组件介绍、快速入门指南和逐步教程,详细讲解如何使用各个组件进行智能合约调试,提供实际示例和代码片段。
文章介绍了 Solidity 语言中的不可变变量(immutable variables),展示了如何在构造函数中初始化这些变量,并说明了尝试修改这些变量会导致编译错误。
本文详细介绍了Solidity中的映射数据结构,包括映射的定义、工作原理及其与数组的区别。作者提供了丰富的代码示例,以帮助开发者更好地理解如何在以太坊及Solidity兼容区块链上实现映射,特别是在智能合约开发中的应用。
本文介绍了合约级别合规性(CLC)的概念,它是一种将合规性直接嵌入到智能合约中的框架。CLC通过CLC Router来检查用户是否通过了KYC验证,确保只有合规的用户才能使用智能合约。这使得传统金融机构更愿意使用公链,同时也为普通用户提供了参与合规DeFi的机会。
文章讨论了以太坊中SELFDESTRUCT操作码的弊端,认为它破坏了重要的不变性,如状态对象的数量、合约代码的不变性以及账户余额的自主性。文章提出了两种解决方案:完全移除SELFDESTRUCT,或修改其行为以消除其破坏性影响,同时考虑了现有合约的使用情况和潜在影响。
SELFDESTRUCT