... ^5.0.0 pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol"; import {VRFConsumerBaseV2Plus} from "@chainlink/contracts/src/v0.8/vrf/dev/VRF...
...什么? 8. 荷兰式拍卖和英式拍卖之间有什么区别? 9. [ERC20](https://learnblockchain.cn/tags/ERC20) 中的 transfer 和 transferFrom 之间有什么区别? 10. 对于地址 allowlist,使用映射还是数组更好?为什么? 11. 为什么不应该使用 tx.origin 进行...
## On-chain Vault — ERC4626 和通货膨胀攻击  ## 背景 **什么是 ERC4626?** ERC4626 是 [ERC20](https://docs.openzeppelin.com/contracts/5.x/erc20) 的扩展,它为 token 金库提出了一种标准接口,...
...被传递给执行者(填充者),他们负责执行所需的操作。ERC-7683 为意图引入了标准化的结构,简化了其创建和执行。通过统一意图系统,它旨在提高效率,增强流动性访问,并实现更顺畅的交互。 ## 引言 ### 以太坊和 ERC 标准...
...er: MIT pragma solidity ^0.8.20; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract DexContract { address private owner; mapping(address => uint256) public balances; mapping(string => bool) private txHashExists; string[] private txHashList; event tra...
... emit OwnershipTransferred(oldOwner, newOwner); } } interface IERC20 { event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); function totalSupply() external view retur...
... = delegate[who] $ | `entry.token += amount` | | `redeem(ERC20Like,uint256)` | TOKENÐ流出 | $tokens[msg.sender][address(token)] > amount$ | `tokens[msg.sender][token] -= amount` | | `proofOfOwnership(ERC20Like,address,uint256)` | TOKENÐ流入 |...
1. 你有了解过ERC721的变种协议ERC721A吗? 2. 仔细说说ERC20和ERC721? 3. ERC20和ERC721的原理是什么? 4. modifier 有什么作用? 5. 你对gas都了解哪些? 6. 如何节省gas? 7. web3和web2的区别是什么? 8. 对于合约安全你有哪些见解? 9. ...
...与安全 即将开设的课程: 1. NFT和GameFi概念介绍 2. ERC1155/ERC721/ERC20概念与协议 3. ERC20相关业务的合约开发与合约安全 4. ERC1155/ERC721相关业务的合约开发与合约安全 5. NFT和GameFi相关场景分析 6. NFT与元宇宙 :抵押 NFT(ERC721 扩展) - [ERC7596](https://github.com/ethereum/ERCs/pull/205/files):股权份额记账系统 - [ERC7597](h...