文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
精选
推荐
最新
周榜
关注
RSS
全部
通识
以太坊
比特币
Solana
公链
Solidity
Web3应用
编程语言
安全
密码学
AI
存储
其他
Michael.W基于Foundry精读Openzeppelin第25期——IERC1820Registry.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
IERC1820Registry.sol是global ERC1820 Registry的接口文件。ERC1820 Registry旨在创建一个全网唯一的interface与对应implementer的查询中心。所有地址都可以在其中注册interface与对应implementer的关联关系。
OpenZeppelin
Foundry
Michael.W
发布于 2023-08-13
阅读 ( 2078 )
Michael.W基于Foundry精读Openzeppelin第24期——ERC165Storage.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
ERC165Storage合约是ERC165的一种拓展。IERC165的supportsInterface(bytes4)函数的标准实现方式是静态地将已实现接口的interface id硬编码到bytecode中,而ERC165Storage则可在合约部署后动态地添加支持的interface id。
OpenZeppelin
Foundry
Michael.W
发布于 2023-08-12
阅读 ( 2291 )
Michael.W基于Foundry精读Openzeppelin第23期——ERC165Checker.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
ERC165Checker库是用来查询已实现IERC165的目标合约自身实现了哪些interface的工具库。在使用时需要注意:利用ERC165Checker提供的查询方法进行查询的过程不会因为目标合约没有实现待查询interface而发生revert。
OpenZeppelin
Foundry
ERC165
Michael.W
发布于 2023-08-11
阅读 ( 2256 )
(番外篇)Michael.W基于Foundry精读Openzeppelin第22期——内联汇编staticcall
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
内联汇编中,Instruction "staticcall"的功能及使用方法与Instruction "call"类似。唯一不同的是在"staticcall"的过程中不允许发生storage的修改。
OpenZeppelin
Foundry
Michael.W
发布于 2023-08-09
阅读 ( 1922 )
Solidity 开发教程 - Solidity 开发基础系列
Solidity 开发基础: 使用Remix、数据类型(整型、地址、合约、数组、结构体、映射)介绍;函数修改器、事件、错误处理、库的使用。
Solidity
函数修改器
事件
DeCert.me
发布于 2023-08-08
阅读 ( 945 )
( 20 )
Michael.W基于Foundry精读Openzeppelin第21期——ERC165.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
ERC165合约是IERC165的标准实现。ERC165提供了本合约是否实现了IERC165接口的查询。如果需要额外支持其他interface,可在目标合约内重写supportsInterface(bytes4)方法。
OpenZeppelin
ERC165
Michael.W
发布于 2023-08-07
阅读 ( 2171 )
NFT 铸造中的硬核 Gas 节省(第 1 部分)
本文介绍了在Solidity中处理保存和管理NFT的mint功能,包括代码示例和相应的Gas费用分析。文章结构清晰,提供了合约代码和背景信息,适合具备一定编程基础的读者,尤其是希望深入了解区块链和NFT开发的开发者。
Solidity
NFT
Gas成本
智能合约
区块链
编程
jeffrey-scholz
发布于 2023-08-06
阅读 ( 363 )
Michael.W基于Foundry精读Openzeppelin第20期——EnumerableMap.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
EnumerableMap库提供了Bytes32ToBytes32Map、UintToUintMap、UintToAddressMap、AddressToUintMap和Bytes32ToUintMap五种可迭代的map。每种map都提供了增添/更新键值及查询等操作且所有操作的时间复杂度为O(1)。
OpenZeppelin
Michael.W
发布于 2023-08-06
阅读 ( 2648 )
深入理解 Solidity 错误 #4 - try/catch
in
理解 EVM - 探究Solidity 背后的秘密
in
理解 EVM - 探究Solidity 背后的秘密
Solidity 的try/catch 语法和常见的语言中的表现不一样,try { } 块中的代码错误是无法被catch 的,这一点要小心要非常小心。
Solidity
错误处理
Tiny熊
发布于 2023-08-04
阅读 ( 5082 )
Michael.W基于Foundry精读Openzeppelin第19期——EnumerableSet.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
EnumerableSet库提供了Bytes32Set、AddressSet和UintSet三种类型的set,分别适用于bytes32、address和uint256类型的元素。 每种set都提供了对应的增添元素、删除元素、查询当前set中元素个数等操作。几乎所有操作的时间复杂度均为O(1)。
OpenZeppelin
Michael.W
发布于 2023-08-03
阅读 ( 2279 )
深入理解 Solidity 错误 #3 - 错误处理
in
理解 EVM - 探究Solidity 背后的秘密
in
理解 EVM - 探究Solidity 背后的秘密
在深入理解 Solidity 错误"的第三篇, 探索处理错误,本文将揭晓这问问题的答案:asset 错误会消耗所有 gas 吗? require 提不提供错误字符有什么样的不同?外部调用的错误如何影响当前上下文?如何处理底层调用调用产生的错误?
错误处理
Solidity
区块链安全
Tiny熊
发布于 2023-08-03
阅读 ( 5058 )
【Web3 探索】如何获取协议中某个地址拥有的所有投资组合
in
Web3 探索-新手必看宝典
in
Web3 探索-新手必看宝典
介绍如果您想要追踪钱包地址或开发与某个协议交互的应用程序,访问特定地址所拥有的所有投资组合可能非常有益。在本指南中,我们将为您介绍使用Chainbase的getAccountPortfoliosAPI检索协议中特定地址拥有的所有投资组合的步骤。目录概述-使用Chainbase所需的工
DeFi
数据分析
Chainbase
发布于 2023-08-02
阅读 ( 2591 )
( 2 )
深入理解 Solidity 错误 #2 - 运行时错误
in
理解 EVM - 探究Solidity 背后的秘密
in
理解 EVM - 探究Solidity 背后的秘密
在运行时错误是最常遇到的情况,你知道 `Error` 与 `Panic` 的细微差别吗? 发生 Panic 错误真的会消耗所有的 gas 么,本文揭晓答案。
错误处理
solc
Solidity
Tiny熊
发布于 2023-08-02
阅读 ( 4380 )
Michael.W基于Foundry精读Openzeppelin第18期——DoubleEndedQueue.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
DoubleEndedQueue库提供了双向队列的数据结构及对应操作库函数,提供了队头或队尾插入及弹出元素值等逻辑功能。本库采用优化过的storage存储且所有操作的时间复杂度都是O(1)。特别要注意的是库中的clear操作仅仅将队头和队尾指针清零,而之前队列中的元素值依然留存在storage中
OpenZeppelin
Michael.W
发布于 2023-08-02
阅读 ( 2462 )
( 4 )
Web3中最好的安全教育工具 - Solodit
该文章讲述了作者如何通过学习Solidity和开发Solodit工具,从而成为一名优秀的智能合约审计师的故事。Solodit成为了一个汇聚众多审计报告的平台,帮助更多审计师提升技能与效率,推动Web3安全的进步。
Solidity
智能合约
Solodit
web3安全
审计工具
Code4rena
hans_34122
发布于 2023-08-01
阅读 ( 289 )
深入了解 Solidity 错误 #1 - 编译器错误
in
理解 EVM - 探究Solidity 背后的秘密
in
理解 EVM - 探究Solidity 背后的秘密
深入了解 Solidity 错误第二篇, 了解编译器错误。
Solidity
错误处理
Tiny熊
发布于 2023-08-01
阅读 ( 5096 )
Michael.W基于Foundry精读Openzeppelin第17期——BitMaps.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
BitMaps库开发了一种存储更紧凑且高效的mapping(uint256=>bool)。传统的mapping(uint256=>bool)中一个slot只能存储一个键值对的bool值信息,而改用了BitMaps.BitMap数据结构后,一个slot理论上最多可以存256个键值对的bool值信息。
OpenZeppelin
Michael.W
发布于 2023-08-01
阅读 ( 2213 )
Michael.W基于Foundry精读Openzeppelin第16期——SignedSafeMath.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
SignedSafeMath库就是直接对solidity内置的int256类型的加减乘除运算的函数封装。
OpenZeppelin
Michael.W
发布于 2023-07-31
阅读 ( 2201 )
Michael.W基于Foundry精读Openzeppelin第15期——SignedMath.sol
in
Michael.W基于Foundry精读Openzeppelin
in
Michael.W基于Foundry精读Openzeppelin
SignedMath库提供了solidity中尚未内置的标准有符号数的数学运算方法。
OpenZeppelin
Michael.W
发布于 2023-07-30
阅读 ( 2775 )
( 3 )
探索Cairo:安全概述
本文介绍了最近发布的Cairo 1.0,Starknet的原生编程语言,重点关注其安全特性以及在Starknet上编写合约时可能遇到的陷阱。通过具体的代码示例讲解了如何编写Starknet智能合约,并指出了潜在的安全问题,如溢出、重入和存储冲突等。作者还提到了Cairo 2.0即将发布的改变,旨在增强语言的易用性和安全性。
Cairo
Starknet
智能合约
安全特性
重入攻击
溢出
zellic
发布于 2023-07-28
阅读 ( 335 )
‹
1
2
...
23
24
25
26
27
28
29
...
48
49
›
发表文章
我要提问
扫一扫 - 使用登链小程序
热门文档
»
Solidity 中文文档 - 合约开发
Foundry 中文文档 - 开发框架
Hardhat 中文文档 - 开发框架
ethers.js 中文文档 - 与链交互
Viem 中文文档 - 与链交互
web3.js 中文文档 - 与链交互
Anchor 中文文档 - 开发框架
以太坊改进提案EIP翻译
以太坊域名服务(ENS)文档
Etherscan API 手册 - 查询链上数据
热门百科
»
以太坊
智能合约
区块链
Solana
DeFi
Solidity
NFT
Web3
零知识证明
区块链安全
EVM
Rust
Move
去中心化
比特币
每周以太坊
加密货币
DApp
Rollup
Layer2
Sui
预言机
MEV
Uniswap
DAO
30天文章收益榜
»
寻月隐君
222 篇文章,657 学分
4pillars
170 篇文章,582 学分
CoinsBench
69 篇文章,495 学分
Helius
138 篇文章,446 学分
OpenZeppelin
159 篇文章,401 学分
×
发送私信
请将文档链接发给晓娜,我们会尽快安排上架,感谢您的推荐!
发给:
内容: