Ownable源码源码概览功能说明onlyOwner修饰器控制谁能调用敏感函数transferOwnership将权限转让给别人renounceOwnership放弃控制权,实现去中心化OwnableInvalidOwner/Unau
ERC20源码解析ERC20是以太坊上的一种代币标准,定义了一组规则,任何实现它的智能合约都可以发行一个“可替代代币”(FungibleToken,FT)可替代”是一个经济学术语,意思是:每一个单位的代币都是一样的、等价可互换的比如:你有一个1USDT,我也有一个1U
ERC721.sol源码解读ERC721是ETH上的一种非同质化代币(NFT)标准,定义了一种唯一、不可分割、不可互换的代币类型。每一个ERC721代币都有唯一的tokenId和所有者,可以代表数字资产或现实世界中的物品,比如:数字艺术游戏道具虚拟地产门票......
OpenZeppelin是一个广泛使用的、开源的智能合约库,专门为以太坊等EVM兼容链提供安全、可复用的合约组件。它是构建去中心化应用(DApp)和协议时的“黄金标准”不论你是初学者还是Web3开发老,OpenZeppelin都是一个非常不错的选择整体架构OpenZeppelin
零知识证明(ZKP)在区块链领域快速发展,从最初的隐私保护走向通用计算。尤其是zkVM(Zero-KnowledgeVirtualMachine)的出现,极大拓宽了ZK技术的应用边界。现在通过这篇文章,系统了解zkVM的核心概念、主流技术路线、应用图谱,以及如何选择适合自己的zk
近期报名参加了OpenBuild组织的StarkNetBootcamp,今天听完第一节课后,带着一些困惑和ChatGPT进行了一场对话,内容延伸到StarkNet、公链扩展、智能钱包、消息机制全解读......解决了自己的不少知识盲点,对Web3的了解更进一步。现在将我们对话的内容,整理成文
账户抽象(AccountAbstraction,简称AA)被认为是以太坊用户体验和基础设施升级的关键方向,它正在悄悄改变我们对“钱包”、“账户”、“签名”和“交易”的所有认知。现在,从背景、原理到影响和未来演进,全面理解账户抽象的来龙去脉。🔍为什么需要账户抽象?以太坊目前有两种账户
关于合约账户,我有两个疑问:合约账户的创建,只能发生在合约部署时?合约部署,这是一个交易,只能通过一个EOA账户发起?好,先把合约账户创建聊清楚,上面两个问题也就迎刃而解了合约账户创建情况一:普通创建(CREATE指令)由EOA或合约发起的常规部署:newMyContr
ETH中的账户分为两类:外部账户和合约账户。账户类型谁能控制如何创建地址来源外部账户(EOA)拥有私钥的人生成一对密钥(私钥+公钥)address=keccak256(pubkey)[12:]合约账户由代码控制通过部署合约交易创建add
每个以太坊区块头中都包含一个字段:stateRoot,它是世界状态树(WorldState)的MerklePatriciaTrie根哈希代表了当前这个区块执行完所有交易后的链上状态快照摘要。📦为什么每个区块的stateRoot不同?因为每个区块执行的交易不同,链上状态