文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
Yieldoor 协议 Gas 优化
这篇文章通过一个实际案例研究了如何通过重构优化 Solidity 代码来实现气体节省,展示了在一个杠杆收益农场协议 Yieldoor 中,通过改进核心函数 `Leverager::liquidatePosition` 实现了 15.43% 的气体节约。作者详细描述了测量Gas成本的方法和重构过程,包括减少冗余存储读取、使用结构体缓存、以及启用优化器以提高代码效率。
气体优化
Solidity
Yieldoor
重构
以太坊
高效编程
Dacian
发布于 2025-03-18
阅读 ( 817 )
( 7 )
一文了解solidity中的常量、状态变量和不可改变量的区别
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity(以太坊智能合约编程语言)中,常量(constant)、状态变量(statevariable)和不可改变量(immutable)是三种不同的变量类型,它们在定义、存储、使用和修改方面有显著区别。
变量
Louis
发布于 2025-03-17
阅读 ( 1223 )
( 17 )
如何修复“数据位置必须是内存或 calldata” 问题
本文深入探讨了以太坊虚拟机(EVM)的数据存取机制,阐明了不同数据位置(如stack、memory、storage、calldata和transient storage)的性质与用途,及其与Solidity编程的相关性。文章不仅解释了Solidity中常见错误的原因,还提供了丰富的代码示例和图示,帮助开发者理解EVM内部工作原理。
以太坊虚拟机
数据存取
Solidity
Calldata
memory
存储
Cyfrin
发布于 2025-03-17
阅读 ( 808 )
( 15 )
Solidity智能合约中的重入攻击
本文深入探讨了Solidity智能合约中的重入攻击,详细解释了重入攻击的机制、类型及防护策略,并提供了真实案例如DAO黑客事件和Curve Finance攻击的分析,强调了安全审计的重要性。
重入攻击
Solidity
智能合约
Checks-Effects-Interactions
安全审计
DeFi
Cyfrin
发布于 2025-03-14
阅读 ( 1086 )
( 15 )
Solidity 0.8.29 发布
Solidity 0.8.29 发布
Solidity
SolidityLang
发布于 2025-03-13
阅读 ( 1726 )
( 15 )
区块链入门:智能合约(第二部分)
in
区块链101
in
区块链101
本文深入探讨了智能合约和Solidity语言的关键细节,包括与区块链交互的方法、合约调用模式、合约部署方式以及合约特性。作者通过实例和详细解释,阐述了如何在安全和有效的基础上构建智能合约,并强调了理解编码信息和合约结构的重要性。整篇文章结构清晰、逻辑性强,非常适合想进一步了解智能合约开发者。
智能合约
Solidity
区块链
合约调用模式
合约部署
交易结构
Frank Mangone
发布于 2025-03-12
阅读 ( 2193 )
( 111 )
扩展合约 - OpenZeppelin 文档
本文档介绍了如何通过继承和重写OpenZeppelin合约来扩展其功能。
OpenZeppelin
合约继承
函数重写
super关键字
Hooks
钩子函数
OpenZeppelin
发布于 2025-03-06
阅读 ( 400 )
合约测试指南:实现第一个智能合约不变性测试
本文详细介绍了如何在Solidity中实现和测试智能合约的不变性,通过定义有效状态、状态转移和变量转移等属性,并使用Echidna、Medusa和Foundry等工具进行模糊测试。文章分为明确的部分,讲解了不变性质的代码实现过程,并提供了丰富的示例和解释,适合对Solidity和智能合约分析有一定了解的开发者阅读。
智能合约
不变性
Echidna
模糊测试
Solidity
ERC4626
Recon
发布于 2025-03-05
阅读 ( 1642 )
( 68 )
通过Ethers.js 库进行合约交互
前言本文通过Ethersjs库实现和智能合约的交互全流程流程;工具前端项目引入ethersjs库给浏览器安装一个钱包插件例如:MetaMaskopenzeppelin库编写合约合约部分合约//SPDX-License-Identifier:MITpragmasolid
木西
发布于 2025-03-05
阅读 ( 1103 )
( 10 )
Chainlink预言机中VRF(可验证随机函数)在合约中的使用
前言本文借助Chainlink预言机中的VRF,实现一个链上可验证随机数的合约,以及相关使用场景的介绍;VRF定义:一种用于生成随机数的去中心化服务,广泛应用于需要公平、不可预测随机性的场景;场景1.游戏随机生成游戏道具、角色属性或战斗结果:在游戏开发中,VRF可以用于生成随机的
木西
发布于 2025-03-05
阅读 ( 902 )
( 7 )
Chainlink预言机中的Data Feeds在智能合约中使用场景
前言本文主要介绍使用chainlink预言机中DataFeeds,全文包含了MockV3Aggregator合约和PriceConsumer合约的开发、测试、部署。注意:为了便于测试,在本地区块节点上部署一个MockV3Aggregator。Chainlink(去中心化预言机)Chain
木西
发布于 2025-03-05
阅读 ( 853 )
( 4 )
如何成为区块链开发者-7:复杂数据类型
本文介绍了Solidity中的两种复杂数据类型:结构体(Struct)和映射(Mapping)。结构体用于创建自定义数据类型,类似于面向对象编程中的类,而映射则类似于字典,用于存储键值对。文章通过代码示例详细解释了它们的用法,并结合一个账户管理的智能合约,展示了如何在实际应用中同时使用结构体和映射,最后还简单介绍了storage, memory, calldata。
Solidity
结构体
映射
智能合约
数据类型
storage
memory
Calldata
CoinsBench
发布于 2025-03-04
阅读 ( 574 )
快速实现一个多重调用合约
前言多重调用合约设计在于一次交易中执行多个函数调用,这样可以显著降低交易费用并提高效率。
multicall
木西
发布于 2025-03-04
阅读 ( 964 )
( 3 )
智能合约可升级方式之通用可升级代理合约
前言合约一旦署上链是不可修改,为了解决后续合约的新增功能,本文将介绍智能合约可升级的的方案,实现升级智能合约的方案主要通过使用代理合约来实现合约的升级;通用可升级代理合约作用:因为智能合约一旦部署就不可修改,为了解决合约可升级可修改的,才使用代理合约来实现,一句话总结允许在不更改合约地址
木西
发布于 2025-03-04
阅读 ( 901 )
( 6 )
快速实现一个闪电贷智能合约
前言本文通过开发、测试、部署闪电贷合约,测试闪电贷合约另外需要代币合约、借款人合约,主要借助openzeppelin相关库的使用,简化开发过程,该合约在Defi领用是非常重要的一部分;闪电贷闪电贷:一种特殊的贷款形式,允许用户在同一个交易中借入大量资金,并在交易结束前归还这些资金,如果用户
木西
发布于 2025-03-04
阅读 ( 804 )
( 4 )
如何成为区块链开发者-8:继承
本文介绍了Solidity中的继承概念,包括如何使用`is`关键字实现合约继承。文章详细讲解了`virtual`和`override`关键字在函数重写中的作用,以及`internal`关键字在控制函数可见性方面的应用。最后,通过OpenZeppelin的Ownable合约示例,展示了继承在实际开发中的应用,例如权限控制。
Solidity
继承
智能合约
OpenZeppelin
virtual
override
internal
CoinsBench
发布于 2025-03-04
阅读 ( 701 )
( 2 )
Vyper编程语言指南:特性、安全性与应用场景
本文详细介绍了Vyper编程语言,在智能合约开发中的安全性和简洁性,强调了其设计原则与核心特性。通过比较Vyper和Solidity,指出Vyper在安全优先和易审计性方面的优势,同时提供了安装Vyper的步骤和最佳实践,适合需要高安全性的区块链项目开发者。
Vyper
智能合约
安全性
EVM
区块链
DeFi
Cyfrin
发布于 2025-03-04
阅读 ( 1391 )
( 23 )
实现一个ERC20标准代币的增强版合约之ERC20Permit合约
前言ERC20Permit是对扩展了ERC20标准的扩展,添加了一个permit函数,允许用户通过EIP-712签名修改授权,而不是通过msg.sender;ERC20Permit定义:ERC20Permit是对扩展了ERC20标准的扩展,添加了一个permit函数,
木西
发布于 2025-03-03
阅读 ( 918 )
( 2 )
EIP712 类型化数据签名合约一种更安全、先进的签名方式
前言本文主要实现EIP721类型化数据签名的智能合约的开发、测试、部署、交互,测试过程:涉及到前端通过ethers库和合约以及钱包的交互;EIP712类型化数据签名定义:一种以太坊改进提案,旨在提供一种更高级、更安全的类型化数据签名方法;背景与重要性链下签名,链上验证:EIP712
EIP721
木西
发布于 2025-03-03
阅读 ( 761 )
快速实现一种更先进、安全的签名方法之EIP712 类型化数据签名
前言本文主要实现EIP712类型化数据签名的智能合约的开发、测试、部署、交互,测试过程:涉及到前端通过ethers库和合约以及钱包的交互;EIP712类型化数据签名定义:一种以太坊改进提案,旨在提供一种更高级、更安全的类型化数据签名方法;背景与重要性链下签名,链上验证:EIP712
EIP721
木西
发布于 2025-03-03
阅读 ( 874 )
( 5 )
‹
1
2
3
4
5
6
7
8
...
52
53
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
BitVM2
多线性多项式
蹦床路由
扩展
实战教程
Dune Analytics
加密交易池
internal
热钱包
Solidity工具
学术研究
消息传播
以太坊治理
哈希时间锁合约
Tower BFT
gas消耗
SOON
ZK Stack
ECIES
Lightning Network
双向支付通道
GenAI
FRI协议
Jito Bundles
Liquidity
30天文章收益榜
»
Henry
96 篇文章,442 学分
Helius
154 篇文章,440 学分
blockmagnates
88 篇文章,360 学分
寻月隐君
280 篇文章,314 学分
Andrey Obruchkov
10 篇文章,269 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: