找到约 14 条结果

文章 臭名昭著的漏洞摘要 #4

...afbbd342f64ef8a9ab1c143719b63c2ad81710) 合约继承了 OpenZeppelin 的 [`ERC4626Upgradeable` 合约](https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/blob/master/contracts/token/ERC20/extensions/ERC4626Upgradeable.sol),以支持其基于 vault 的质押机制,并在质押 ETH...

文章 学习Solidity后的十个初学者项目创意

...但你具备构建这些项目所需的所有基础知识。 ## 1\. 用 ERC20 代币购买 NFT 构建一个经典的 NFT,只能通过支付特定的 ERC20 代币进行铸造。 ## 2\. 时间解锁 ERC20 / 营养合约 一个支付者将一定数量的代币存入合约,但接收者只能在 ...

问题 为什么openzeppelin的_msgSender()返回的address是0

``` IERC20(token0).transfer(address(this),token0Amount); ``` 我调用上面的方法后,openzeppelin的_msgSender()返回的是0而不是用户地址或合约地址,这是为什么? ``` function _transfer( address from, address to, uint256 amount ) int...

文章 详解 ERC-1155 多代币标准

... 原文链接:[www.rareskills.io/post...](https://www.rareskills.io/post/erc-1155) >- 译者:[AI翻译官](https://learnblockchain.cn/people/19584),校对:[翻译小组](https://learnblockchain.cn/people/412) >- 本文链接:[learnblockchain.cn/article…](https://learnblockchain.cn/arti...

文章 Simplified Compound Protocol Design

...的错误码 3. 要保持代码结构简单,不考虑Dai,USDT等非标ERC20, 只考虑两种ERC20, 即Test token和WMATIC 4. 要保持业务逻辑简单,不考虑Compound中的链上治理,不考虑COMP token的分发等 5. 要保证代码量小,不涉及前端业务调用,只部署...

文章 验证智能合约代码的不同方法

...tifier: MIT pragma solidity ^0.8.9; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract MyToken is ERC20 { constructor() ERC20("MyToken", "MTK") {} } ``` > 在本指南中,我们将演示一个 ERC-20 代币的验证过程 然后,在 **Solidity 编译器** 标签下编译...

文章 Uniswap V2架构:自动化做市商简介

...代表他们在池中的份额。流动性提供者的余额以类似于 [ERC 4626](https://learnblockchain.cn/article/9536) 的方式进行追踪。AMM 和 ERC 4626 的区别在于ERC 4626 只支持一种资产,而 AMM 有两种代币。就像一个金库,流动性提供者在池中的份额保...

文章 使用Motsu测试Arbitrum Stylus智能合约

...s20OpenZeppelin20Motsu20Code20Snippet2017.png) ## **实际示例:测试 ERC-20 Token** 让我们通过测试 ERC-20 token 实现来将所有内容放在一起。 我们将继承 openzeppelin-stylus 库的 ERC-20 实现,因此让我们将必要的依赖项添加到我们的 Cargo.toml 中:![...

文章 深度实战:用 Solidity 0.8.24 + OpenZeppelin V5 还原 STEPN 核心机制

... ``` // SPDX-License-Identifier: MIT pragma solidity ^0.8.24; import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import {ERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {ReentrancyGua...

文章 CheapSwap 协议的诞生

...会被其高昂的手续费所吓到。以 Binance 为例,提现 ETH 到 ERC20 仅需 1.4 USDT的手续费,而提现 USDT 到 ERC20 却需要整整 10 USDT 的手续费。很明显的是,USDT 的转账手续费并没有 ETH 转账手续费的 7 倍之多,这就是交易所故意设置的,...

文章 NFT 简史

...人们在那里交易 Cryptopunk。有趣的是,Cryptopunks 并未遵循 ERC721标准,因为该标准那会儿还没被发明,由于其局限性,它们也不完全是 ERC20。因此,最好将Cryptopunks 描述为 ERC721 和 ERC20 的混合体。 ## 什么是以太坊代币标准 (ERC) ...

文章 如何让跨链代币再次可替代:第一部分

...系统变成用户和开发者的噩梦——例如,流动代币(如 ERC-20)通过各种跨链协议桥接到不同链时,其特征变为非同质化资产,从而损害其作为可转让资产的功能。在本文中,我们将探讨一种解决方案,试图无论代币的原始合约...

文章 Ethernaut 题解 - Dex

...r: MIT pragma solidity ^0.8.0; import "openzeppelin-contracts-08/token/ERC20/IERC20.sol"; import "openzeppelin-contracts-08/token/ERC20/ERC20.sol"; import 'openzeppelin-contracts-08/access/Ownable.sol'; contract Dex is Ownable { address public token1; address public token2; constru...

文章 Web3系列教程之入门篇---13. 像 Uniswap 一样建立自己的去中心化交易所

...n/contracts`,因为我们将在我们的合同中导入[Openzeppelin 的 ERC20](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/ERC20.sol)`Exchange`合同 ```bash npm install @openzeppelin/contracts ``` - 在目录中创建一个`contracts`名...