文章通过代码示例介绍了Solidity中msg.sender的用法,并展示了如何利用msg.sender实现权限控制。文章还提到tx.origin的安全问题,并演示了如何获取智能合约的地址。
msg.sender
tx.origin
本文介绍了在 Solidity 中使用嵌套数组的基本概念和操作,包括如何定义、访问和处理嵌套数组,并提供了相关代码示例。
文章介绍了如何在Solidity中与以太坊互动,特别是如何通过payable函数接收和发送以太币,并解释了以太币的单位及在区块链中的处理方式。
payable
以太坊不仅是一种数字资产,更是一种去中心化的计算范式。它以区块链为基础,在全球节点间构建出图灵完备的逻辑执行平台(智能合约)。
本章将从以太坊的诞生背景出发,剖析其架构设计目标、模块组成与比特币的根本区别,帮助你建立 Web3 世界的第一性理解。
Certora团队的John Toman发现了Solidity 0.7.3中的一个bug,该bug导致编译器在一些写入操作中错误地将垃圾数据写入持久存储。这一问题可能导致合同执行成本增加,但目前尚未确认其安全影响。Solidity编译器团队已在0.7.4版本中修复了该bug。
以太坊采用状态账户模型(State-based Account Model),而非比特币的 UTXO 模型。本文将深入剖析账户的分类、数据结构、状态存储方式,以及底层 Merkle Patricia Trie 的工作原理,为理解智能合约的执行逻辑打下基础。
本文详细介绍了Keccak256哈希函数及其在Solidity和以太坊中的应用,包括其原理、安全性、实现方式及常见用例。
本文全面概述了Solidity中的“delegatecall”函数,详细介绍了它在一个智能合约的上下文中执行另一个智能合约中的代码的重要性。
本文深入探讨了LayerZero协议如何在多链环境中实现跨链互操作性。通过介绍其独特的Ultra Light Node架构,文章解释了LayerZero的工作机制及其与当前跨链解决方案的不同之处,强调了其在共享流动性、状态共享和简化用户体验方面的潜力,并展望了未来多链应用的发展。
ERC 4337引入了以太坊的账户抽象,允许更灵活和用户友好的账户模型。
本文深入探讨了区块链技术在非同质化代币(NFT)中的作用,详细阐述了区块链如何通过去中心化、不可篡改性、唯一性、验证性和可编程性等关键特性,为NFT的创建、验证和交易提供安全透明的平台。同时,文章也分析了NFT面临的挑战,如高Gas费、法律不确定性、环境问题和智能合约安全风险等。
Aptos区块链智能合约入门:使用Move实现消息存储与检索引言:Aptos是一个全新的第1层区块链网络,致力于为开发者提供一个更加快速、安全且具备高度扩展性的去中心化平台。该平台由前Meta工程师打造,推出了全新的编程语言——Move,用于编写安全、灵活且可验证的智能合约。Ap
本文以简洁的语言,剖析了 EVM 的内存结构以及栈内存、状态变量的内存结构,提到了各种不同数据类型所占用的 slot 大小,以及 gas优化的思路。方便小白进行快速掌握 EVM 和 solidity 的内存结构:https://learnblockchain.cn/shawn_shaw
文章讨论了EIP-3074和Vitalik提出的EIP-7702提案,它们都旨在赋予EOA执行代码的能力。EIP-7702通过在交易期间设置EOA的代码来实现,与现有智能账户更兼容,并与账户抽象路线图更一致,更有利于未来的创新和发展,被认为是比EIP-3074更好的版本。文章还探讨了EIP-7702的未决问题,例如协议内撤销、存储和永久升级。
EIP-3074 提案允许 EOA 授权智能合约代表其进行交易,有望提升用户体验,但同时也存在潜在风险,例如恶意调用者可能损害用户利益。文章探讨了 EIP-3074 为智能账户采用带来的机遇与挑战,强调了在保证用户安全的前提下,实现无需许可的创新的重要性,并提出了去中心化调用者注册表的概念,同时认为 EIP-5003 提案可以缓解 EIP-3074 的一些问题。