基本定义 本节是我们合约的开头,我们首先来介绍下合约的文件结构。一个单个合约文件的结构需要清晰、有条理,便于阅读、理解和维护。 文件头部声明 SPDX-License 标识符 用于声明合约的许可证类型(MIT、Apache-2...
简介 Natspec注释使Solidity代码更具有可读性和理解性。Natspec,Natural Language Specification,是使用自然语言注释向 Solidity 代码添加文档的标准格式。Natspec提供了一个易于...
在 Solidity 中,接口(interface)和抽象合约(abstract contract)都是用来定义合约的抽象行为,它们有相似之处,但也有一些关键的区别。下面是它们的用法、区别和联系。 接口(Interface) 接口是合约...
概述 以太坊是一个公共网络,在设计合约的接口时,除了考虑己方的交互外,还应该考虑公众是否方便获取到合约中的数据。 <br> 举例 现有一个订单簿交易系统,存在一个订单结构体, 包含owner,amount,price字段...
透明代理 vs UUPS:智能合约升级模式全景解析与实用指南 随着区块链技术的不断发展,智能合约的升级能力成为项目长期发展的关键需求。其中,透明代理(Transparent Proxy)和 UUPS(Universal Upgradeab...
简介 有时Solidity语言本身的数据结构无法很好地满足开发需求,此时我们需要实现相关库。下面是一个双向链表的库合约,在其它合约中引入即可使用。 实现 // SPDX-License-Identifier: LGPL-3.0-onl...
原文链接:dacian.me/find-highs-b... 译者:AI翻译官,校对:翻译小组 本文链接:learnblockchain.cn/article… 在外部审计的私密审计中发现的许多高严重性...
原文链接:proxies.yacademy.dev/pages... 译者:AI翻译官,校对:翻译小组 本文链接:learnblockchain.cn/article… 代理 Vitalik 说...
原文链接:frang.io/blog... 译者:AI翻译官,校对:翻译小组 本文链接:learnblockchain.cn/article… 文本记录 这是我在 Devcon 7 上发表的演讲 的重...
改什么 把map改成array 比如我们现在有三种优先队列的实现. 当前mainet下最节省gas library HeapMapping { using SafeCast for *; struct Uint25...