文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
Solidity中Ownable合约的原理实践
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,Ownable合约是一种设计模式,用于管理合约的所有权。它通常提供了一些基础功能,如只允许合约所有者执行某些操作,转移合约所有权等;这种权限管理合约在以太坊主网或者其他链的主网上经常会看到。
权限管理
ownable
Louis
发布于 2024-06-21
阅读 ( 2343 )
( 12 )
Solidity中的回退函数fallback和receive详解
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,回退函数(fallbackfunctions)是在合约接收到以太币或调用不存在的函数时触发的特殊函数。自Solidity0.6.0版本起,回退函数分为两种:fallback函数和receive函数。
Solidity
回退函数
Louis
发布于 2024-06-21
阅读 ( 2826 )
( 12 )
Solidity中的payable关键字
in
Solidity从入门到进阶
in
Solidity从入门到进阶
在Solidity中,payable关键字用于标识可以接收以太币的函数或地址。只有带有payable关键字的函数才能接收以太币转账。默认情况下,地址类型是不可支付的,也就是说,你不能直接向一个普通的地址类型发送以太币。为了发送以太币,我们需要将地址转换为payable地址。这样可以防止意外
Solidity
payable
支付
Louis
发布于 2024-06-21
阅读 ( 3071 )
( 15 )
Solidity中的继承
in
Solidity从入门到进阶
in
Solidity从入门到进阶
Solidity是一种面向对象的编程语言,它支持合约之间的继承。继承允许一个合约获取另一个合约的所有非私有属性和函数,这样就可以重复使用代码,降低重复工作量。继承关键字在Solidity中,继承是通过is关键字来实现的。
Solidity
智能合约
继承
Louis
发布于 2024-06-20
阅读 ( 2250 )
( 17 )
如何使用 Slang 编写自己的 Solidity linter
Slang 旨在提升下一代 Solidity 代码分析和开发工具, 将展示如何使用 Slang 在仅 25 行代码中编写一个简单的 Solidity linter
Slang
Solidity
Igor Matuszewski
发布于 2024-06-19
阅读 ( 1262 )
( 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
阅读 ( 1623 )
( 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
阅读 ( 1826 )
( 11 )
Storage 进阶——通过引用 Storage 提高 gas 利用率
本文主要介绍了直接在函数中 "引用" Storage;ERC-7201:命名空间存储布局,通过 assembly 在我们想要的 slot 位置定义状态变量
storage
assembly
Q1ngying
发布于 2024-06-11
阅读 ( 1314 )
( 27 )
EVM 对象格式- EOF 的好处
EVM 对象格式- EOF 的好处
EOF
Dragan Rakita
发布于 2024-06-11
阅读 ( 1390 )
( 5 )
异常处理的简单认识
在solidity中一旦出现异常,则当前交易将会回滚(即相当于没有发生过,除了你的gas被消耗了)。`solidity`里抛出异常的方法有三种:errorrequireassert对于可能出现异常抛出的地方,solidity也提供了try-catch方法进行异常捕获处理。
Solidity
错误处理
nilliol
发布于 2024-06-09
阅读 ( 1278 )
( 5 )
从构想到实施:创建一个用于智能合约的Solidity Gas优化器
本文介绍了作者和合作者构建的一款高性能自动化Solidity智能合约Gas优化工具,该工具通过在源代码和中间表示层进行优化,从而有效地节省Gas。该工具提供了命令行界面和Web应用程序两种部署方式,支持结构体打包、存储变量缓存和调用数据优化等功能,旨在帮助开发者编写更高效的Solidity代码,并最大限度地降低智能合约在区块链上的执行成本。
Solidity
gas优化
智能合约
抽象语法树
结构体打包
存储变量缓存
Calldata
Yong kang Chia
发布于 2024-06-07
阅读 ( 349 )
safeTransferLib
SafeTransferLib的用处//这个库就是为了防止像usdt那样没有返回值的transfer,调用方式usingSafeTransferLibfortoken;token.safeTransferFrom
ERC20
assembly
Libra
oo
发布于 2024-06-05
阅读 ( 1507 )
( 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
阅读 ( 2008 )
( 14 )
完全理解函数调用的 ABI 编码
in
代理模式与 Delegatecall 规范手册
in
代理模式与 Delegatecall 规范手册
完全理解函数调用的 ABI 编码
ABI
合约交互
RareSkills
发布于 2024-06-03
阅读 ( 3488 )
( 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
阅读 ( 1710 )
( 17 )
Solidity语言 - 如何在智能合约中使用Chainlink VRF - Quicknode
本文详细介绍了如何在智能合约中使用Chainlink VRF生成随机数。文章涵盖了Chainlink VRF的原理、请求随机数的方法,并通过构建一个自定义的抽奖智能合约进行了系统的示范。还提供了关于测试、部署合约和创建Chainlink VRF订阅的步骤,有助于开发者理解如何在其项目中实现该功能。
Chainlink VRF
随机数生成
智能合约
抽奖合约
Solidity
以太坊
QuickNode
发布于 2024-05-30
阅读 ( 565 )
calldata 编码规则
在上两篇文章中,我们分析了SolidityEVM中的存储结构,在本篇文章中,我们将详细分析EVM的calldata是如何进行编码的。
EVM
Calldata
ABI
Q1ngying
发布于 2024-05-27
阅读 ( 1856 )
( 80 )
ABI 编码
ABI(ApplicationBinaryInterface,应用二进制接口)是与以太坊智能合约交互的标准。说人话就是:给智能合约阅读的编码标准。为了应对智能合约中不同的情况,就有了不同的编码方法(合约要求的输入不一,还有省空间的问题)。关于编码方法如下:abi.encodeabi.e
ABI
nilliol
发布于 2024-05-26
阅读 ( 1731 )
( 7 )
合约内的合约创建
以太坊中外部账户EOA可以创建账户,同样智能合约也可以创建账户。只能合约创建账户的方法有两种:creatcreat21creat使用creat就是直接new一个合约即可,使用create创建的地址的计算方法是对:部署者地址和nonce(部署者发送交易的总数)进行哈希计算。使用方法如下:
合约地址
nilliol
发布于 2024-05-26
阅读 ( 1434 )
( 9 )
合约内的合约调用
合约调用合约有五种方法
合约交互
nilliol
发布于 2024-05-26
阅读 ( 2559 )
( 50 )
‹
1
2
...
14
15
16
17
18
19
20
...
47
48
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
科幻
交易利润
p256Verify
Arbitrum Nitro
CSPRNG
不变式
溢出检查
$AGNI
变形合约
攻击场景
单 slot 终结性
少量提示
AOC
风险赚取
运行字节码
Guardian Audits
内容哈希
开发者资源
Aevo
WOOFi
通用流动性
成交量加权市值
Alchemy SDK
SynFutures
应用程序随机数
30天文章收益榜
»
寻月隐君
208 篇文章,857 学分
CoinsBench
67 篇文章,712 学分
Helius
133 篇文章,607 学分
QuickNode
413 篇文章,535 学分
OpenZeppelin
132 篇文章,390 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: