日志和事件是智能合约开发的重要组成部分,也是Chainlink和The Graph等项目的关键基础设施。
在本篇文章中,我们就来看看如何在 EtherScan 上查看其智能合约。
本文详细介绍了在Solidity中使用Q格式表示定点数的方法,包括Q数的定义、表示方式、转换方法以及在Solidity中的实际应用示例。文章还对比了Q数与以太坊中的十进制表示,指出了Q数在乘除运算中的高效性。
本文详细介绍了Solidity中的函数选择器(Function Selector),包括其定义、使用方法、计算方式以及相关注意事项。文章还探讨了函数选择器与EVM的关系,并提供了相关的代码示例和实用资源。
本文详细介绍了以太坊中的staticcall操作,解释了其与常规call的区别,及其在防止状态变更中的应用。同时,文章也讨论了staticcall的安全性问题,如拒绝服务攻击和重入攻击,并提供了代码示例来说明其使用方法。
理解 ABI规范, 学习如何使用 web3 及 solidity 来与合约交互
本文详细介绍了Solidity中的gasleft()函数的作用及其应用场景,包括防止交易耗光Gas、代码执行成本基准测试、转发所有Gas到实现合约以及防止中继器拒绝服务攻击等。
gasleft()
本文详细介绍了以太坊预编译合约的九种类型及其应用场景,包括椭圆曲线数字签名恢复、哈希方法、内存复制和椭圆曲线数学运算等,并提供了如何使用Solidity调用这些预编译合约的示例代码。
本文介绍了智能合约开发的实用学习方法,强调通过实际项目、黑客松和参与开源项目来积累经验并转化为职业机会。作者提供了学习Solidity的推荐资源,及如何建立公开作品集以展示技能,最后总结了成为Web3开发者的关键步骤。
本文详细介绍了如何使用Aave V3进行闪电贷操作,包括部署智能合约、设置MetaMask、获取测试代币以及执行闪电贷的步骤。
本文深入探讨了Solidity智能合约中的重入攻击,详细解释了重入攻击的机制、类型及防护策略,并提供了真实案例如DAO黑客事件和Curve Finance攻击的分析,强调了安全审计的重要性。
本文介绍了Solodit Checklist,一个帮助开发者构建安全智能合约的实用工具。作者强调了理解智能合约安全的重要性,并提供了通过该检查清单进行深入学习和实践的方法,以避免潜在漏洞和安全风险。
本篇会介绍常用的几种Solidity开发环境,同时会推荐一种最为合适的开发环境并且安装必要的内容。
文章详细介绍了在Solidity中判断一个地址是否为智能合约的三种方法,包括msg.sender == tx.origin、code.length和codehash,并探讨了每种方法的优缺点和适用场景。
msg.sender == tx.origin
code.length
codehash
本文详细介绍了ERC721Enumerable扩展的功能及其在现有ERC721项目中的集成方法,包括其数据结构、函数实现以及如何通过OpenZeppelin的ERC721Enumerable扩展代码将其添加到项目中。