 就像如图上,我发起一笔交易,metamask只能获取到一段data,是如何在短时间内解析出是一笔erc20的transfer请求呢? 难道是用data和erc20的函数签名去比对?
如果通过交易回执里的log来解析 erc20合约里的transfer事件(event Transfer(address indexed from, address indexed to, uint256 value) ),如何避免恶意erc20合约,比如只transfer了100个token,但是日志里却恶意记录1000个token,链下平台依赖这个数据做...
``` function checkERC20(address[] memory _tokens) public view returns(bool[] memory){ bool[] memory _args = new bool[](_tokens.length); for(uint i;i< _tokens.length;i++){ address _token = _tokens[i]; _args[i] = true; try IERC20Metad...
## 概述 [ERC-3643](https://learnblockchain.cn/docs/eips/EIPS/eip-3643) 是以太坊**许可型代币**的标准,意味着代币只能由满足预定义的合规性规则(如 KYC/AML、投资者资格和管辖区要求)的身份持有和转移。它专为受监管的资产而设计,你必...
## 转移费用和 Rebase 代币:你需要知道的 ERC-20 安全漏洞 ## 介绍 随着 DeFi 和智能合约世界的发展,我们使用的代币的复杂性也在发展。在更高级的 ERC-20 代币类型中,有**转移费用代币**和 **rebase 代币**。这些代币引入了独特的...
... ## **介绍** Token 标准的出现是为了给混乱带来秩序。在 ERC-20 之前,每个 Token 都有自己的规则,这使得集成变得不可预测且容易出错。ERC-20 通过创建一个钱包、交易所和应用程序可以依赖的接口改变了这一点。这不仅仅是为了...
# 概要 如何在合约代码中同时支持ERC20,ERC20-PERMIT,PERMIT2?在TTSWAP去中心交易所的代码中已经实现. # 判定流程 ```mermaid graph LR; 代币--传统先授权给协议再交易-->使用交易类型1,进行交易; 代币--支持ERC20PERMIT-->使用交易类型2,然...
... 例如,假设有一个地址 `0xcafe...` 持有原生 ETH 和一些 ERC-20 代币,而我们想在该地址移动这些资金时接收通知。 在 RPC 层,这样做看起来像是 * (对于原生 ETH)监听使用 `eth_subscribe("newHeads")` 挖掘的新块,迭代块中的所...
视频的核心内容是关于ERC-20代币在去中心化金融(DeFi)协议中的应用及其潜在的安全漏洞。讲者Owen分享了12种不同的边缘案例和奇怪的行为,这些行为可能导致意想不到的结果或实际的安全漏洞。 **关键论据和信息包括:** ...
在区块链和加密货币的世界中,ERC721 标准为非同质化代币(Non-Fungible Token, NFT)的发展提供了重要基础。与普通的可互换代币(如 [ERC20](https://learnblockchain.cn/tags/ERC20?map=EVM) 代币)不同,每一枚 ERC721 代币都是独一无二的,这使...
...返还闪贷。 领取空投也存在类似的问题。人们可以使用 ERC20 代币领取空投,然后将代币转移到另一个地址,然后再次领取空投。 从根本上来说,ERC20 快照提供了一种机制来防御用户在同一交易中转移代币和重复使用代币效用...
...化 `school`。 ## 一个常用的业务场景 我们肯定都写过 ERC20 Token,使用 openzeppelin 库去实现 ``` // SPDX-License-Identifier: UNLICENSED pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract Token is ERC20 { constructor(strin...
...常有人问我314怎么样,就连找我承接合约开发项目的都是ERC314相关的,趁着我现在开发项目,我把ERC314的基本原理讲解一下,供你参考,也作为我的一个工作记录。 ### 先了解下ERC314的背景 > 2024年3月20日晚上,ERC314协议代币...
我写了一个合约 是接受erc20代币的,现在web3可以正常的使用 approve 来授权。授权完了,再执行我合约写的 deposit 方法,无法把代币转到合约中去。是为什么?请大神赐教。代码如下: ``` interface IERC20 { function transfer(address ...
...(address _tokenAddress,uint256 amount)public payable { IERC20 token = IERC20(_tokenAddress); token.approve(address(this),amount); token.transferFrom(msg.sender,address(this),amount); } ``` 以上是我写的ERC20向合约地址转账的代码,转账失...