ERC721是一种以太坊上的非同质化代币(NFT,Non-FungibleToken)标准,用于表示唯一的、不可替代的数字资产。它利用了唯一的tokenId来确定每一个NFT代币,每个NFT的合约中管理着一批类似的但每个都是不同的代币:https://learnblockchain
Solidity允许多重继承,包括多态性。
信标代理“信标代理”(BeaconProxy)是一种可升级合约的代理模式,主要特点是通过一个共享的“信标”(Beacon)来统一管理逻辑合约地址,适合部署多个实例共享同一个逻辑实现并且合约可升级的场景:https://learnblockchain.cn/shawn_shaw
Web3CLI是一个AI驱动的工具,旨在通过自然语言生成合约和深入合约分析来改变区块链开发。它通过将纯英文需求转化为Solidity代码,提供合约解释,并内置安全措施来解决智能合约开发中的挑战。它集成了多代理系统和向量数据库,以提高代码质量和安全性,并支持多种AI模型和提供商。
以太坊是一个公共网络,在设计合约的接口时,除了考虑己方的交互外,还应该考虑公众是否方便获取到合约中的数据。
NFT 所有者 tokenID 快速查询
初学solidity的一些笔记
本文探讨了Solidity编程语言的学习难度,尽管语言本身与JavaScript等类似,快速上手可能性高,但深入理解以太坊环境及一些独特特性如gas成本、I/O操作以及重入攻击等,则需要时间和经验。文章通过代码示例展示了常见的陷阱和挑战,强调了在掌握Solidity语言之后,还需大量实践才能精通以太坊生态系统。
开坑使用Hardhat闯关Ethernaut CTF题,提高合约和测试脚本的能力,后续也会增加Paradigm CTF的闯关题目。
本文介绍了 ERC-20 token 的概念和使用场景,例如作为交易媒介、投票权和 staking。通过 OpenZeppelin Contracts 可以轻松创建 ERC-20 token 合约,并以一个游戏中的 Gold (GLD) 代币为例,展示了如何构建、部署和转账 ERC-20 token,还讨论了 decimals 字段在处理小数方面的作用。
作为一种编程语言,Solidity与Java、JavaScript和Cpp等更常见的语言有许多相似之处。然而,有很多特性是Solidity独有的,库 就是其中之一。
本文深入探讨了Solidity中的ABI编码机制,详细解释了函数选择器和参数编码的原理,特别是静态类型和动态类型的编码方式,并通过一个实际的调用数据解析示例展示了如何手动解码ABI编码的数据。
Web3开发必知:Solidity内存布局(Storage、Memory、Stack)解析在以太坊智能合约开发中,Solidity的内存布局是确保合约高效运行的核心。理解Storage(存储区)、Memory(内存区)和Stack(栈)三种存储位置的特性与用途,不仅有助于优化gas成本,还能提升合
本文介绍了Yul语言的基础知识,Yul是一种用于在智能合约中编写汇编语言的中间编程语言。文章通过示例讲解了Yul的变量赋值、操作、循环、条件语句、存储和内存管理,以及如何执行合约调用。
本文深入探讨了Solidity库的工作原理,详细介绍了如何使用delegatecall()调用库函数,以及如何创建和发布一个Solidity库。文章还讨论了库与智能合约的关键区别,并提供了多个代码示例来演示库的使用方法。
delegatecall()