文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
Michael.W基于Foundry精读Openzeppelin第59期——Proxy.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
Proxy库对外只暴露了fallback和receive函数,是代理合约的基础实现。所有对Proxy合约的call都将被delegatecall到implement合约且delegatecall的执行结果会原封不动地返还给Proxy合约的调用方。通常称implement合约为代理合约背后的逻辑合约。
OpenZeppelin
Foundry
proxy
Michael.W
发布于 2024-06-23
阅读 ( 1706 )
( 11 )
Viem极简教程:与链上合约交互
Viem是一个相当新的web3库,它专注于EVM,提供了更好的开发体验,更小的包体积等等。在本文中,将使用foundry部署一个简单的合约,并在node环境下使用viem与部署的链上合约执行读写交互。
Viem
Foundry
EVM
区块链交互
Carry
发布于 2024-06-23
阅读 ( 3504 )
( 165 )
Solidity中发送主币的三种方式
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,向其他合约或地址发送主币(ETH)有三种主要方法:transfer、send、call; 这三种方法各有自己的特点,并且在Gas消耗上也有不同
发送主币
Gas
智能合约
Louis
发布于 2024-06-23
阅读 ( 3467 )
( 16 )
Solidity中的继承:如何运行父级函数的构造函数
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中的继承和Solidity中的多线继承这两篇文章中,我们已经学习了Solidity关于继承的相关知识点,这篇文章,我们再聊一个更细致的话题:如何运行父级函数的构造函数。
继承
Solidity
构造函数
Louis
发布于 2024-06-23
阅读 ( 1967 )
( 6 )
Solidity中的多线继承
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中的继承这篇文章中,我介绍了solidity中关于继承的相关概念和例子。本篇文章,我们来一起探讨一个更加复杂的话题多线继承。基本概念Solidity支持多线继承,即一个合约可以同时继承多个基类合约。这可以使合约代码更加简洁,更容易复用代码
Solidity
继承
智能合约
Louis
发布于 2024-06-22
阅读 ( 2061 )
( 11 )
Solidity中通过工厂合约创建合约原理详解
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,工厂合约是一种设计模式,用于创建和管理多个实例合约。通过一个工厂合约,你可以集中管理合约的创建逻辑,方便地部署多个合约实例,跟踪它们的地址,并对它们进行管理。工厂合约模式在开发去中心化应用(DApps)时非常有用,尤其是在需要频繁创建和销毁合约实例的场景下。
Solidity
工厂合约
Louis
发布于 2024-06-22
阅读 ( 2302 )
( 10 )
Solidity中的异常处理
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,错误处理和控制报错是智能合约开发中的关键部分。Solidity提供了几种机制来控制错误和异常:require:用于检查条件是否为真,如果条件为假,则会抛出异常并回滚交易。assert:用于检查不应该为假的条件,用于捕捉代码中的严重错误。
Solidity
错误处理
require
Louis
发布于 2024-06-22
阅读 ( 2381 )
( 48 )
Solidity 中的定点数运算(以 Solady、Solmate 和 ABDK 为例)
定点数是一个仅存储分子部分的整数——而分母是隐含的。
Solidity
Solidity 数学运算
RareSkills
发布于 2024-06-21
阅读 ( 2108 )
( 9 )
Solidity中Ownable合约的原理实践
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,Ownable合约是一种设计模式,用于管理合约的所有权。它通常提供了一些基础功能,如只允许合约所有者执行某些操作,转移合约所有权等;这种权限管理合约在以太坊主网或者其他链的主网上经常会看到。
权限管理
ownable
Louis
发布于 2024-06-21
阅读 ( 2397 )
( 12 )
Solidity中的回退函数fallback和receive详解
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,回退函数(fallbackfunctions)是在合约接收到以太币或调用不存在的函数时触发的特殊函数。自Solidity0.6.0版本起,回退函数分为两种:fallback函数和receive函数。
Solidity
回退函数
Louis
发布于 2024-06-21
阅读 ( 2900 )
( 12 )
Solidity中的payable关键字
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,payable关键字用于标识可以接收以太币的函数或地址。只有带有payable关键字的函数才能接收以太币转账。默认情况下,地址类型是不可支付的,也就是说,你不能直接向一个普通的地址类型发送以太币。为了发送以太币,我们需要将地址转换为payable地址。这样可以防止意外
Solidity
payable
支付
Louis
发布于 2024-06-21
阅读 ( 3134 )
( 15 )
Solidity中的继承
in
Solidity从入门到进阶
in
Solidity从入门到进阶
Solidity是一种面向对象的编程语言,它支持合约之间的继承。继承允许一个合约获取另一个合约的所有非私有属性和函数,这样就可以重复使用代码,降低重复工作量。继承关键字在Solidity中,继承是通过is关键字来实现的。
Solidity
智能合约
继承
Louis
发布于 2024-06-20
阅读 ( 2288 )
( 17 )
如何使用 Slang 编写自己的 Solidity linter
Slang 旨在提升下一代 Solidity 代码分析和开发工具, 将展示如何使用 Slang 在仅 25 行代码中编写一个简单的 Solidity linter
Slang
Solidity
Igor Matuszewski
发布于 2024-06-19
阅读 ( 1291 )
( 4 )
Michael.W基于Foundry精读Openzeppelin第58期——PullPayment.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
PullPayment库是对Openzeppelin中Escrow库的一种封装。从安全角度看,PullPayment是一对多发送eth的最佳解决方案。它可以防止收款人阻塞发送eth的行为并消除重入问题。
PullPayment
OpenZeppelin
Foundry
Michael.W
发布于 2024-06-18
阅读 ( 1654 )
( 11 )
Michael.W基于Foundry精读Openzeppelin第57期——ReentrancyGuard.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
ReentrancyGuard库是一个用来防御函数重入的工具库。函数被修饰器`nonReentrant`修饰可确保其无法被嵌套(重入)调用。本库的代码逻辑上只实现了一个重入锁,所以被`nonReentrant`修饰的函数之间也是无法相互调用的。
ReentrancyGuard
OpenZeppelin
Foundry
Michael.W
发布于 2024-06-12
阅读 ( 1868 )
( 11 )
Storage 进阶——通过引用 Storage 提高 gas 利用率
本文主要介绍了直接在函数中 "引用" Storage;ERC-7201:命名空间存储布局,通过 assembly 在我们想要的 slot 位置定义状态变量
storage
assembly
Q1ngying
发布于 2024-06-11
阅读 ( 1337 )
( 27 )
EVM 对象格式- EOF 的好处
EVM 对象格式- EOF 的好处
EOF
Dragan Rakita
发布于 2024-06-11
阅读 ( 1421 )
( 5 )
异常处理的简单认识
在solidity中一旦出现异常,则当前交易将会回滚(即相当于没有发生过,除了你的gas被消耗了)。`solidity`里抛出异常的方法有三种:errorrequireassert对于可能出现异常抛出的地方,solidity也提供了try-catch方法进行异常捕获处理。
Solidity
错误处理
nilliol
发布于 2024-06-09
阅读 ( 1317 )
( 5 )
从构想到实施:创建一个用于智能合约的Solidity Gas优化器
本文介绍了作者和合作者构建的一款高性能自动化Solidity智能合约Gas优化工具,该工具通过在源代码和中间表示层进行优化,从而有效地节省Gas。该工具提供了命令行界面和Web应用程序两种部署方式,支持结构体打包、存储变量缓存和调用数据优化等功能,旨在帮助开发者编写更高效的Solidity代码,并最大限度地降低智能合约在区块链上的执行成本。
Solidity
gas优化
智能合约
抽象语法树
结构体打包
存储变量缓存
Calldata
Yong kang Chia
发布于 2024-06-07
阅读 ( 382 )
safeTransferLib
SafeTransferLib的用处//这个库就是为了防止像usdt那样没有返回值的transfer,调用方式usingSafeTransferLibfortoken;token.safeTransferFrom
ERC20
assembly
Libra
oo
发布于 2024-06-05
阅读 ( 1545 )
( 12 )
‹
1
2
...
14
15
16
17
18
19
20
...
48
49
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
SUAVE
自动化市场制造商
以太坊扩展
SGX
memecoins
Tokio
NFT铸造
EIP-7251
SharkTeam
监管合规
web3开发
1Balance
测试环境
整数溢出
walletconnect
术语
安全报告
Segwit
Eclipse
以太坊基金会
日志
群论
交易成本
CryptoKitties
AES
30天文章收益榜
»
寻月隐君
219 篇文章,781 学分
CoinsBench
69 篇文章,647 学分
Helius
138 篇文章,549 学分
OpenZeppelin
157 篇文章,542 学分
4pillars
170 篇文章,498 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: