以太坊是一个公共网络,在设计合约的接口时,除了考虑己方的交互外,还应该考虑公众是否方便获取到合约中的数据。
在Solidity中,接口(interface)和抽象合约(abstractcontract)都是用来定义合约的抽象行为,它们有相似之处,但也有一些关键的区别。下面是它们的用法、区别和联系。接口(Interface)接口是合约的一个非常简单的抽象,定义了合约应当实现的外部函数签名,但不包括
Natspec,NaturalLanguageSpecification,是使用自然语言注释向Solidity代码添加文档的标准格式。Natspec注释使Solidity代码更具有可读性和理解性。
基本定义本节是我们合约的开头,我们首先来介绍下合约的文件结构。一个单个合约文件的结构需要清晰、有条理,便于阅读、理解和维护。文件头部声明SPDX-License标识符用于声明合约的许可证类型(MIT、Apache-2.0等)。
评估各个 AI 编程助手在 Solidity 语言上的表现
大约一年前,我开始接触区块链技术,并决定深入学习Solidity。Solidity是以太坊智能合约的主要编程语言,它借鉴了C++、Python和JavaScript的语法特点。最初,我对Solidity的基本语法和数据类型进行了系统的学习,逐渐熟悉了如何编写简单的智能合约。我在过去一
作为一名Web3开发者,我在过去的几年中见证了智能合约技术的飞速发展。然而,随着智能合约在去中心化金融(DeFi)、供应链管理、游戏等多个领域的广泛应用,安全问题也日益凸显。无数的黑客攻击和漏洞利用事件提醒我们,编写安全的智能合约是保护数字资产的关键。我将结合自己的实际工作经验,分享一些编写安全的
Solidity简介什么是SoliditySolidity是一种面向对象的高级编程语言,专门用于编写智能合约。智能合约是在区块链上自动执行的程序,可以用于实现各种去中心化应用(DApps)。Solidity的历史Solidity由以太坊基金会的成员在2014年创建,目的是为以太坊区块链提
编写solidity合约如何选择变量的数据类型
如何实现 EVM 链无许可、无感知的合约部署
Foundry forge 输出覆盖率测试报告
Foundry 单元测试
Wrapped Native 一个更好的原生代币 Wrap 方案
本工具库对常用的链上交互操作进行了模块化抽象与简洁式封装,让开发者能够轻松快速地与主流区块链网络进行交互。目前支持任意 EVM 链。
如果你重视零知识证明技术信息的实效性和信息源质量的意义,不想娱乐至死、短视投机、无关广告、推荐算法、劣币驱逐良币的泥沙裹挟迷失,请多支持我们(包括给予赞助支持),让这一汨清流继续流淌~
通过 prompt cheatcode,我们能够实现一种十分友好的交互输入方式,这样,在运行我们的 Foundry Script 脚本时十分便捷。
在 Foundry 的 cheatcode 中,mockCall、mockCallRevert 和 mockFunction 使合约测试更高效。
foundry常用
扫一扫 - 使用登链小程序
39 篇文章,430 学分
68 篇文章,360 学分
24 篇文章,260 学分
108 篇文章,247 学分
12 篇文章,170 学分