首页
学习
活动
专区
圈层
工具
发布
首页标签solidity

#solidity

《纸上谈兵·solidity》第 17 课:合约设计模式实战(二)—— Access Control 与权限管理

孟斯特

因此,本课将深入探讨 多种权限控制模式,并通过实战示例,演示如何安全地在 Solidity 中实现访问控制。

1600

《纸上谈兵·solidity》第 16 课:Pull over Push 支付模式与 Check-Effects-Interactions 原则

孟斯特

从这一课开始,我们将会进入实战环节,通过编写测试来学习 Solidity 合约的各种高级用法。

4500

《纸上谈兵·solidity》第 15 课:Solidity 库与可重用代码

孟斯特

在复杂的智能合约系统中,代码复用与模块化至关重要。Solidity 提供了 库(Library) 机制,用来组织可重用逻辑,避免重复开发与部署,提升合约的可维护...

11100

《纸上谈兵·solidity》第 14 课:Solidity 中的可升级合约模式 —— 从代理合约到透明代理、UUPS 与安全陷阱

孟斯特

这个也是OpenZeppelin UUPS/Transparent Proxy 的核心思路

11610

《纸上谈兵·solidity》第 13 课:Solidity 低级调用 call/delegatecall/staticcall —— 直接和 EVM“对话”

孟斯特

staticcall 的底层指令是 STATICCALL,它会禁止在调用期间修改状态。

10810

《纸上谈兵·solidity》第 12 课:Solidity 函数选择器与 ABI 编码原理

孟斯特

在以太坊的世界里,合约函数调用不是“直接调用函数”,而是发送一段经过 ABI 编码的二进制数据。这些数据不仅包含了调用哪个函数的信息,还包括函数参数的序列化内容...

10510

《纸上谈兵·solidity》第 11 课:Solidity 错误处理与异常机制 —— 让合约优雅地失败

孟斯特

在 Solidity 智能合约开发中,失败并不可怕,可怕的是失败后状态不明确、资金不安全、调用方摸不着头脑。EVM 的一个重要特性是:当合约执行中发生错误时,会...

15210

《纸上谈兵·solidity》第 10 课:Solidity `fallback` / `receive` 函数 —— 合约如何收 ETH 和响应未知调用?

孟斯特

在 Solidity 的世界里,大多数函数都有明确的名字、参数和用途。但还有两个比较特别的“隐形入口”函数:receive() 和 fallback()。

24310

《纸上谈兵·solidity》第 9 课:Solidity 事件与日志机制 —— 合约世界的“printf”工具

孟斯特

在 Solidity 中,我们无法像 JavaScript 那样 console.log("...") 来查看运行状态。但我们有事件(Event)机制——既是合...

8810

《纸上谈兵·solidity》第 8 课:Solidity 中的继承与接口 —— 模块化不是“复制粘贴”的借口

孟斯特

模块化开发是大型合约系统不可或缺的组成部分。本课简单剖析 Solidity 中的继承(Inheritance)、接口(Interface)、抽象合约(Abstr...

10310

《纸上谈兵·solidity》第 7 课:Solidity 函数可见性和修饰器 —— public 和 private 不只是权限标签

孟斯特

在 Solidity 中,函数的可见性不仅决定了“谁可以调用”,更深层地影响到合约之间的交互方式、函数的 ABI 暴露、安全性设计和 gas 成本。本课还将介绍...

13420

《纸上谈兵·solidity》第 6 课:Solidity 数据存储布局 —— memory、storage、calldata 傻傻分不清?

孟斯特

在 Solidity 编程中,变量的“声明”远远不只是类型和名字,更关键的是 —— 存储位置(data location)。错误使用 memory、storag...

14810

《纸上谈兵·solidity》第 5 课:依赖与外部调用 —— 合约交互的风险与防护

孟斯特

在现实应用中,Solidity 合约往往不是孤岛。我们需要调用其他合约的函数,获取信息或发起操作。这种合约间交互会引入新的风险点。本课将系统讲解如何调用外部合约...

17422

《纸上谈兵·solidity》第 4 课:Solidity 合约中的错误处理机制(`require`、`revert`、`assert`)和自定义错误

孟斯特

在智能合约的开发过程中,错误处理 是确保系统健壮性、安全性和可预测行为的关键环节。本课我们将深入探讨 Solidity 中三种主要的错误处理机制:

20610

《纸上谈兵·solidity》第 3 课:事件(Event)机制与链上日志——不是 print,是广播!

孟斯特

在 Solidity 中,事件(event)不是控制台输出,也不是日志记录函数,而是链上广播机制。

11110

《纸上谈兵·solidity》第 2 课:调用、修改、读取,Solidity 合约不是 REST API

孟斯特

在上一课中,我们已经完成了一个最简单的合约部署流程。这一课我们将重点学习与合约交互,包括如何调用函数、读取状态和修改变量。

24216

《纸上谈兵·solidity》第 1 课:部署你的第一个 Solidity 合约

孟斯特

我们可以使用 anvil 在本地启动一条测试链来部署我们的合约,通过 http://127.0.0.1:8545就可以访问测试链:

38420

《纸上谈兵·solidity》第 0 课:搭建 Solidity 开发环境(三种方式)

孟斯特

写 Solidity 合约 ≠ 打开浏览器写点 JS。它更像嵌入式开发,要“部署到虚拟硬件”(即 EVM)中运行。你需要一个能编译、部署、调试、测试的本地环境。

35510

DeFi中的不变量测试(Invariant Test)

用户11711955

不变量测试是一种软件测试方法,专注于验证系统在各种条件下某些属性或状态始终保持不变。在区块链和DeFi应用中,这种测试方法尤为重要,因为智能合约一旦部署到链上就...

6100

DeepSeek-R1 x VS Code:AI编程助手的深度整合实践

Lethehong

在2024年的技术浪潮中,DeepSeek-R1与VS Code的深度整合标志着智能编程工具从"辅助插件"到"核心生产力引擎"的质变。本文基于6个月的真实项目实...

30510
领券
首页
学习
活动
专区
圈层
工具
MCP广场