...了一个智能合约,我想记录当前发送者的地址以及他转的ERC20代币地址和数量信息。 能通过 msg.calldata 解析出来吗? 我现在只能拿到 msg.sender msg.value。 比如: A 转入 100 USDT 到我这个合约,我想在合约里记录 A 转入了 1...
ERC721的Token不能在一个合约方法中授权并转移吗? ``` IERC721(tokenadr).approve(address(this), _nftid); IERC721(tokenadr).safeTransferFrom(msg.sender, address(this), _nftid); ``` 上面这个方法会报错:ERC721: approve caller is not owner nor approved for all
佬大,看了您说了怎么判断一个合约是erc20还是erc721
比如某地址是0xb89d8a7c56241b550A6f8a0938BBBB2E2fe3166F,我有该地址的私钥,我现在想把将该地址的某种erc20代币锁定,目的是使该代币无法转出。哪种erc20代币具有这种锁定功能呢?
使用openzeppelin发布ERC721如何使用版税功能?使用的是open库中的ERC721Holder,知道怎么设置利率,但是不知道这个功能如何嵌入到nft合约中收取版税。希望有大佬讲解下最好有用例
ERC20只定义了一个decimals=18,但是其他函数并没有对输入的数据进行处理 比如transfer函数,amount的数值类型是uint256,这样的话怎么能够处理成18位小数呢? 我看了一下链上别的ERC token的转账记录,如果要转账11.1的话,实际输入t...
在自己部署了一个实现erc20的代币合约后,我想要新建一个合约对其进行转账,结果失败,我想是不是授权的问题?比如导入其它的erc20的token合约也是如此。使用了SafeERC20。 ```//SPDX-License-Identifier: MIT pragma solidity >=0.6.1=amoun...
 就像如图上,我发起一笔交易,metamask只能获取到一段data,是如何在短时间内解析出是一笔erc20的transfer请求呢? 难道是用data和erc20的函数签名去比对?
根据ERC1820官方提案的描述 ``` 该标准定义了一个通用的注册智能合约,**任何地址(合约或者普通账户)都可以注册自己支持哪个接口**,以及哪个智能合约负责它的实现。 ``` 这里为合约注册接口很好理解,但有什么场景是...
...次演讲中,Across Protocol的联合创始人Hart讨论了如何通过ERC 7683标准实现以意图为基础的以太坊互操作性,以解决以太坊的碎片化问题。他强调,尽管以太坊的扩展性得到了显著改善,但用户体验仍然复杂,亟需统一。Hart介绍了...
如果通过交易回执里的log来解析 erc20合约里的transfer事件(event Transfer(address indexed from, address indexed to, uint256 value) ),如何避免恶意erc20合约,比如只transfer了100个token,但是日志里却恶意记录1000个token,链下平台依赖这个数据做...
# 使用Foundry部署和开源合约erc20 将给定的合约部署到 Sepolia 并提供部署后的链接地址,你可以按照以下步骤进行操作。 新建项目 ``` forge init foundry_erc20 ``` ### 步骤一:编写合约脚本 在文件夹`src`中创建一个新...
...测的中继哈希](#predictable-relay-hash) - [支持最新版本的 ERC-7683](#supporting-the-newest-version-of-erc-7683) - [World Chain 支持](#world-chain-support) - [系统总览](#system-overview) - [变更概要](#summary-of-changes) - [安全模型和信任假设](#security-model...
使用 [账户抽象 (ERC-4337)](https://learnblockchain.cn/article/5946) 的智能合约钱包创建了一种通过智能合约管理的钱包,而不是像 EOA 钱包(外部拥有地址)那样由单个私钥管理的钱包。 智能合约钱包的可编程性允许开发范围广泛的新...
...,并从Openzeppelin导入两个重要的合约,这两个合约是实现ERC721所必需的。 ``` // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; import "@openzeppelin/contracts/utils/Counters.sol"...