找到约 14 条结果

文章 与升级一起使用 - OpenZeppelin 文档

...每个文件和合约都有后缀 `Upgradeable`。 ```diff hljs -import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; +import {ERC721Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; -contract MyCollectible is ERC721 { +contract MyCollec...

文章 ERC1155实践】区块链游戏的平行宇宙和为此而生的Enjin钱包

## 1\. 摘要 恩金(Enjin)花了大半年的时间一直在完善ERC-1155这个通证协议,毫不夸张地说,该标准是现有以太坊上最适用于游戏资产的通证标准,将主流游戏中道具涉及到的一切操作经过高度抽象之后,基本通过ERC-1155进行了...

文章 测试助手 - OpenZeppelin 文档

...失败的交易的断言 } = require('@openzeppelin/test-helpers'); const ERC20 = artifacts.require('ERC20'); describe('ERC20', function ([sender, receiver]) { beforeEach(async function () { // 捆绑的 BN 库与 web3 在底层使用的库相同 this.value = new BN(1); this.erc20 =...

文章 NFT的gas优化终极指南

...不同的方法来提高铸造的成本效益:** * 我们真的需要ERC721Enumerable吗? * 使用映射而不是数组 * [ERC721A](https://learnblockchain.cn/article/3539)标准 * 从代币 Id 1开始 * 白名单的Merkle树 * 打包变量 * 使用未经检查的 * 为什么第一个铸...

文章 主权桥接NFT

...系统中 rollup 之间大量创新和实验的机会。 ## 动机 由 [ERC-721](https://github.com/omni-network/ERCs/blob/master/ERCS/eip-721.md) 定义的非同质化代币已成为自 2017 年最初的 EIP 提案以来最重要和使用最广泛的数字资产标准之一。 然而,在该标...

文章 ERC-7955 提案:无需私钥的 CREATE2 工厂

.../09/15/Brand_PFP.png) > 我们 Safe Research 团队最近提出了 ERC-7955:无需许可的 CREATE2 工厂,这是一种在任何兼容以太坊的链上无需许可地引导确定性合约部署的新机制。它旨在取代目前用于 Safe 合约部署的 Safe Singleton Factory,并...

文章 Fireblocks 可升级代币审计 - ERC1155F

...-and-incorrect-comments) - [gas 优化](#gas-optimization) - [缺失 ERC-721 和 ERC-1155 代币救援功能](#missing-functionality-for-rescuing-erc-721-and-erc-1155-tokens) - [结论](#conclusion) ## 摘要 TypeDeFiTimelineFrom 2023-11-13To 2023-11-17LanguagesSolidity总问题12 (8 ...

问题 为什么openzeppelin版本的ERC721实现合约的_safeTransfer函数要把参数校验语句放在转账之后?

... virtual { _transfer(from, to, tokenId); require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); } ```` 先执行了_transfer函数后执行_checkOnERC721Received函数,而后者是为了检测to这个参数是否...

文章 不标准的 ERC2612:Permit 滥用零地址“僵尸资金”

ERC-2612 中,有提到这么一点: >由于 `ecrecover` 预编译在接收到格式错误的消息时会默默失败,并返回零地址作为签名者,因此必须确保`owner != address(0)`,以避免批准使用属于零地址的“僵尸资金”。 在 ERC20 合约中,有一...

文章 Foundry 教程: 用Solidity编写ERC-20测试用例

...//twitter.com/devtooligan)提供的图片。 所以我们来实现一个ERC-20并写一些测试。创建 ERC20 合约,你也可以参考社区的这篇文章[如何创建并部署ERC20代币](https://learnblockchain.cn/article/3672) 。 ## 1. 安装Foundry 安装foundry的具体步骤将...

文章 ERC-7786 提案规范:跨链消息传递网关

ERC-7786 一个供合约发送和接收跨链消息的接口。 ## 摘要 本提案描述了一个接口,以及相应的工作流程,用于智能合约通过跨链消息协议发送任意数据。该提案的最终目标是使所有这些消息协议通过这个接口(本地或使用“...

文章 【翻译】编写可升级的智能合约

...影响你从库中导入的合约。例如考虑OpenZeppelin合约中的[`ERC20`](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v3.2.0/contracts/token/ERC20/ERC20.sol):该合约在其构造函数中初始化了token的名称、符号和小数位数。 ```js // @openzeppelin/contr...

文章 任意地址欺骗攻击:ERC2771Context Multicall 公开披露

...a858df0d47a1328750f90305fb) ## 概览 任何同时实现 `Multicall` 和 ERC-2771 的合约都容易受到地址欺骗的攻击。在 OpenZeppelin 合约库的上下文中,这可以通过 `Multicall` 和 `ERC2771Context` 来完成。攻击者可以将恶意 **calldata** 包装在转发的请求...

文章 分析 ERC721A 源码节省Gas优化思路

# 分析 ERC721A 源码节省Gas优化思路 Link: https://github.com/chiru-labs/ERC721A `"erc721a": "^4.3.0"` ```solidity // Mapping from token ID to ownership details // Bits Layout: // - [0..159] `addr` // - [160..223] `startTimestamp` // - [224] `burned...