首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
3分钟Solidity--智能合约--Web3区块链技术必学
Rockbean
创建于2025-12-01
订阅专栏
3分钟学习Solidity,智能合约,积跬步以至千里。 JS新职业方向
等 2 人订阅
共100篇文章
创建于2025-12-01
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
3分钟Solidity: 0.2 web3的技术架构
web3的技术架构主要是指DApp(decentmmmralized application 去中心化应用)技术架构。区块链,去中心化存储,身份验证和链下索引,形成了完整的DApp架构。L2扩展能力。
3分钟Solidity: 0.1 web3的基本概念
web3资产可以作为链上数据来流通,出现了`通证经济`即`tokenomics`,个人可以拥有数据,而不像是中心化web时代数据存储在平台或者公司,具备了去中心化防篡改等特性。
3分钟Solidity: 12.2 Solidity中的EVM内存布局
示例 - 使用`assembly`进行内存读写 - Solidity中不同数据类型的内存布局 - 外部调用的内存管理
3分钟Solidity: 12.1 EVM存储
使用 `assembly`进行存储读写。本节介绍不同数据类型的存储布局,以及其示例。如内联汇编的存储等。
3分钟Solidity: 11.18 燃气规则
根据63/64gas规则,外部调用最多只能接收调用合约中剩余gas的63/64。那些退还已使用 gas 的合约必须考虑到这 1/64 未被消耗的 gas。
3分钟Solidity: 11.17 WETH许可
大多数ERC20代币都具备`permit`功能,可通过有效签名批准支出者。但`WETH`并不支持此功能。令人意外的是,当对`WETH`调用`permit`时,该函数调用会正常执行而不报错。
3分钟Solidity: 11.16 金库通胀
通过向金库捐赠ERC20代币可以人为抬高金库份额。 攻击者可利用这一机制窃取其他用户的存款。攻击者可以通过增加分母来操纵分母,导致用户由于向下舍入而获得比预期更少的份额。
3分钟Solidity: 11.15 在同一地址部署不同的合约
`sender`是部署者的地址,`nonce`是 `sender`发送的交易数量。如果我们能以某种方式重置 `nonce`,就可以在同一个地址部署不同的合约。
3分钟Solidity: 11.14 绕过合约规模检查
如果一个地址是合约,那么该地址存储的代码大小应该大于0,对吧? 让我们看看如何创建一个`extcodesize`返回代码大小为0的合约。
3分钟Solidity: 11.13 签名重放
在链下签署消息,并通过合约在执行函数前要求该签名是一种实用的技术。同一个签名可被多次用于执行某个函数。如果签名者的本意是仅批准一次交易,这可能会造成危害。
3分钟Solidity: 11.12 区块时间戳
`block.timestamp`可能会被矿工操纵,但有以下限制: - 它不能比其父区块的时间戳更早 - 它不能设定为太远的未来时间
3分钟Solidity: 11.11 抢先交易Front Running
交易在被挖出之前需要一定时间。攻击者可以监视交易池并发送一笔交易,使其在原始交易之前被打包进区块。这种机制可能被滥用,从而按照攻击者的利益重新排序交易。
3分钟Solidity: 11.10 蜜罐
蜜罐是一种用于诱捕黑客的陷阱。通过结合重入攻击和隐藏恶意代码这两种漏洞利用方式,我们可以构建一个能捕获恶意用户的合约。
3分钟Solidity: 11.9 用外部合约隐藏恶意代码
在Solidity中,任何地址都可以被强制转换为特定合约类型,即使该地址上的合约并非目标合约。 这一特性可被利用来隐藏恶意代码。
3分钟Solidity: 11.8 Phishing with tx.origin
如果合约 A 调用 B,B 又调用 C,那么在 C 中 `msg.sender`是 B,而 `tx.origin`是 A。恶意合约可以欺骗合约所有者调用本应仅限所有者调用的函数。
3分钟Solidity: 11.7 拒绝服务
攻击智能合约使其无法使用的方法有很多种。 我们在此介绍的一种攻击方式是通过使发送以太币的功能失败来实现拒绝服务。
3分钟Solidity: 11.6 随机性的来源
`blockhash`和 `block.timestamp`并非可靠的随机性来源。不要使用 `blockhash`和 `block.timestamp`作为随机性的来源
3分钟Solidity: 11.5 Delegatecall
1. `delegatecall`会保留上下文(存储、调用者等)。 2. 调用 `delegatecall`的合约与被调用的合约必须保持相同的存储布局。
3分钟Solidity: 11.4 访问私人数据
智能合约上的所有数据都可以被读取。注意:无法在JVM上使用web3,因此请使用部署在Goerli上的合约
3分钟Solidity: 11.1 重入攻击
假设合约 `A`调用了合约 `B`。重入攻击允许 `B`在 `A`完成执行之前回调 `A`。预防技术 - 确保所有状态变更在调用外部合约之前完成 - 使用防止重入的函数修饰符
下一页