文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
Solidity中的多线继承
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中的继承这篇文章中,我介绍了solidity中关于继承的相关概念和例子。本篇文章,我们来一起探讨一个更加复杂的话题多线继承。基本概念Solidity支持多线继承,即一个合约可以同时继承多个基类合约。这可以使合约代码更加简洁,更容易复用代码
Solidity
继承
智能合约
Louis
发布于 2024-06-22
阅读 ( 2094 )
( 11 )
Solidity中通过工厂合约创建合约原理详解
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,工厂合约是一种设计模式,用于创建和管理多个实例合约。通过一个工厂合约,你可以集中管理合约的创建逻辑,方便地部署多个合约实例,跟踪它们的地址,并对它们进行管理。工厂合约模式在开发去中心化应用(DApps)时非常有用,尤其是在需要频繁创建和销毁合约实例的场景下。
Solidity
工厂合约
Louis
发布于 2024-06-22
阅读 ( 2341 )
( 10 )
Solidity中的异常处理
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,错误处理和控制报错是智能合约开发中的关键部分。Solidity提供了几种机制来控制错误和异常:require:用于检查条件是否为真,如果条件为假,则会抛出异常并回滚交易。assert:用于检查不应该为假的条件,用于捕捉代码中的严重错误。
Solidity
错误处理
require
Louis
发布于 2024-06-22
阅读 ( 2404 )
( 48 )
Solidity 中的定点数运算(以 Solady、Solmate 和 ABDK 为例)
定点数是一个仅存储分子部分的整数——而分母是隐含的。
Solidity
Solidity 数学运算
RareSkills
发布于 2024-06-21
阅读 ( 2139 )
( 9 )
Solidity中Ownable合约的原理实践
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,Ownable合约是一种设计模式,用于管理合约的所有权。它通常提供了一些基础功能,如只允许合约所有者执行某些操作,转移合约所有权等;这种权限管理合约在以太坊主网或者其他链的主网上经常会看到。
权限管理
ownable
Louis
发布于 2024-06-21
阅读 ( 2432 )
( 12 )
Solidity中的回退函数fallback和receive详解
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,回退函数(fallbackfunctions)是在合约接收到以太币或调用不存在的函数时触发的特殊函数。自Solidity0.6.0版本起,回退函数分为两种:fallback函数和receive函数。
Solidity
回退函数
Louis
发布于 2024-06-21
阅读 ( 2963 )
( 12 )
Solidity中的payable关键字
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,payable关键字用于标识可以接收以太币的函数或地址。只有带有payable关键字的函数才能接收以太币转账。默认情况下,地址类型是不可支付的,也就是说,你不能直接向一个普通的地址类型发送以太币。为了发送以太币,我们需要将地址转换为payable地址。这样可以防止意外
Solidity
payable
支付
Louis
发布于 2024-06-21
阅读 ( 3171 )
( 15 )
Solidity中的继承
in
Solidity从入门到进阶
in
Solidity从入门到进阶
Solidity是一种面向对象的编程语言,它支持合约之间的继承。继承允许一个合约获取另一个合约的所有非私有属性和函数,这样就可以重复使用代码,降低重复工作量。继承关键字在Solidity中,继承是通过is关键字来实现的。
Solidity
智能合约
继承
Louis
发布于 2024-06-20
阅读 ( 2320 )
( 17 )
如何使用 Slang 编写自己的 Solidity linter
Slang 旨在提升下一代 Solidity 代码分析和开发工具, 将展示如何使用 Slang 在仅 25 行代码中编写一个简单的 Solidity linter
Slang
Solidity
Igor Matuszewski
发布于 2024-06-19
阅读 ( 1308 )
( 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
阅读 ( 1670 )
( 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
阅读 ( 1898 )
( 11 )
Storage 进阶——通过引用 Storage 提高 gas 利用率
本文主要介绍了直接在函数中 "引用" Storage;ERC-7201:命名空间存储布局,通过 assembly 在我们想要的 slot 位置定义状态变量
storage
assembly
Q1ngying
发布于 2024-06-11
阅读 ( 1347 )
( 27 )
EVM 对象格式- EOF 的好处
EVM 对象格式- EOF 的好处
EOF
Dragan Rakita
发布于 2024-06-11
阅读 ( 1434 )
( 5 )
异常处理的简单认识
在solidity中一旦出现异常,则当前交易将会回滚(即相当于没有发生过,除了你的gas被消耗了)。`solidity`里抛出异常的方法有三种:errorrequireassert对于可能出现异常抛出的地方,solidity也提供了try-catch方法进行异常捕获处理。
Solidity
错误处理
nilliol
发布于 2024-06-09
阅读 ( 1328 )
( 5 )
从构想到实施:创建一个用于智能合约的Solidity Gas优化器
本文介绍了作者和合作者构建的一款高性能自动化Solidity智能合约Gas优化工具,该工具通过在源代码和中间表示层进行优化,从而有效地节省Gas。该工具提供了命令行界面和Web应用程序两种部署方式,支持结构体打包、存储变量缓存和调用数据优化等功能,旨在帮助开发者编写更高效的Solidity代码,并最大限度地降低智能合约在区块链上的执行成本。
Solidity
gas优化
智能合约
抽象语法树
结构体打包
存储变量缓存
Calldata
Yong kang Chia
发布于 2024-06-07
阅读 ( 465 )
safeTransferLib
SafeTransferLib的用处//这个库就是为了防止像usdt那样没有返回值的transfer,调用方式usingSafeTransferLibfortoken;token.safeTransferFrom
ERC20
assembly
Libra
oo
发布于 2024-06-05
阅读 ( 1568 )
( 12 )
Michael.W基于Foundry精读Openzeppelin第56期——VestingWallet.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
VestingWallet库可给指定的受益人按时间线性释放锁在合约内的Eth或Erc20 token。任何转移至本合约的token都必须遵循释放模型。开发者可通过重写`vestedAmount(uint64)`或`vestedAmount(address,uint64)`来自定义token释放模型。
VestingWallet
OpenZeppelin
Foundry
Michael.W
发布于 2024-06-04
阅读 ( 2078 )
( 14 )
完全理解函数调用的 ABI 编码
in
代理模式与 Delegatecall 规范手册
in
代理模式与 Delegatecall 规范手册
完全理解函数调用的 ABI 编码
ABI
合约交互
RareSkills
发布于 2024-06-03
阅读 ( 3659 )
( 89 )
Michael.W基于Foundry精读Openzeppelin第55期——PaymentSplitter.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
PaymentSplitter库可以在一组领取地址无感知的情况下,将定量eth或某ERC20 token按照shares占比释放给该组中的某地址。当eth或ERC20 token被转入该合约后,在册的领取地址就可以来领取属于自己占比的那部分。各领取人的shares数量只能在该合约部署时被设置。
PaymentSplitter
OpenZeppelin
Foundry
Michael.W
发布于 2024-05-31
阅读 ( 1748 )
( 17 )
Solidity语言 - 如何在智能合约中使用Chainlink VRF - Quicknode
本文详细介绍了如何在智能合约中使用Chainlink VRF生成随机数。文章涵盖了Chainlink VRF的原理、请求随机数的方法,并通过构建一个自定义的抽奖智能合约进行了系统的示范。还提供了关于测试、部署合约和创建Chainlink VRF订阅的步骤,有助于开发者理解如何在其项目中实现该功能。
Chainlink VRF
随机数生成
智能合约
抽奖合约
Solidity
以太坊
QuickNode
发布于 2024-05-30
阅读 ( 634 )
‹
1
2
...
16
17
18
19
20
21
22
...
50
51
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
全链互操作性
L2互操作性
Sky
传输层
关系数据库
Δ算法
社交交易平台
YEED
集成区块链
gas目标
通道可升级性
METAPIXEL
Mocha
Liquidity Bootstrapping Pool
oSnap
Replit
数据民主化
稀疏头验证
Manta Pacific
代币投票
销售模型
安全系数
EIP2935
意图驱动引擎
Move交易
30天文章收益榜
»
寻月隐君
225 篇文章,588 学分
4pillars
172 篇文章,523 学分
Helius
141 篇文章,358 学分
CoinsBench
69 篇文章,354 学分
QuickNode
419 篇文章,289 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: