... 请遵循用组件名称作为存储变量名前缀的约定(例如,`ERC20_balances`),以避免组件之间的冲突 与 Solidity 的顺序存储布局不同,Cairo 存储槽位是通过 `sn_keccak` 哈希从变量名派生出来的(概念上类似于 Solidity 中的 ERC-7201 命名...
...理性 * 建议合约限制零资金购买NFT的可能性 * 建议对于ERC721及ERC1155协议的NFT Token进行严格区分,避免混淆情况发生
...存在的风险类型 #### ✅ 1)授权过度(Over Approval) * ERC-20 中允许某个合约“无限使用”你的 Token * ERC-721 中给某个平台授权“管理你所有 NFT” ⚠️ 如果对方是恶意合约,就能直接从你账户转走资产。 *** #### ✅ 2)...
... ``` address owner = address(0x123); // 模拟owner vm.startPrank(owner); erc20.transfer(0x...., 1); // 从bob 账号转出 erc20.mint(100); .... // 结束模拟 vm.stopPrank(); ``` 如果只有一个调用需要模拟可以使用 `prank(address)` 2. `warp(uint256)` 设置区块时间,可以...
...用户实际来源联系起来。 直到现在。 Base 最近推出了 [ERC-8021 归因标准](https://eip.tools/eip/8021),该标准使构建者能够在其用户漏斗的任何阶段(无论是钱包、消费者应用还是协议)为其交易打上标签。通过将其构建者代码附加...
...^5.0.0 pragma solidity ^0.8.22; import "hardhat/console.sol"; import { IERC721 } from "@openzeppelin/contracts/token/ERC721/IERC721.sol"; import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; import "./NFT.sol";//实现的nft的合约 contract NFTSwap is I...
...常情况下,MetaMask会在你的账户页面显示你拥有的流行的 ERC-20 标准代币(或[标准代币](https://ethereum.org/en/developers/docs/standards/tokens/erc-20/))。然而,随着以太坊和其他网络上代币的激增,MetaMask 不会维护一个权威的代币列表——...
...5D37aA96045", "profile": { "avatar": "eip155:1/erc1155:0xb32979486938aa9694bfc898f35dbed459f44424/10063", "name": "vitalik.eth" }, "tokens": [ { "contract": "0x000386e3f7559d9b6a2f5c46b4ad1a9587d5...
...时会让绝大部分 DeFi 合约更节省 gas ### Single transaction [ERC-20](https://eips.ethereum.org/EIPS/eip-20) approval 不知道有没有其他小伙伴和笔者一样,在刚接触 Dex 的时候,被想要 Swap 却要先 Approve Token 这一操作给整懵了。更难受的是,假...
...lock}}$。 *首先*,将债券管理推送到 [帐户抽象](https://www.erc4337.io/docs)[^6] 中。付款人合约可以代表智能帐户钱包预先支付预留金,然后在锁定期到期后自动清扫退款。从签名者的角度来看,没有任何改变:他们制作一个元交易,...
... 要更好地理解交易如何工作,请考虑以下示例。 ### **ERC-20 代币转账示例** 例如,你想将一个 [ERC-20 代币](https://learnblockchain.cn/article/12872) 从一个钱包转移动到另一个钱包。以下代码指示 ABI 向 EVM 基于字节码发送消息。 `...
...,以便骗子冒充合法的NFT项目,窃取他们的NFT。这利用了ERC721和ERC1155标准中的“SetApprovalForAll()”功能,允许 - 经过钱包所有者的批准 - 其他人管理他们的资产。 #### 参考资料:  FlashLoanSimpleReceiverBase(IPoolAddressesProvider(_addressProvider)) { ...
...st"] } ``` `hardhat.config.ts`: ```typescript import { HardhatUserConfig } from "hardhat/config"; import "@nomicfoundation/hardhat-toolbox"; const config: HardhatUserConfig = { solidity: "0.8.20", networks: { hardhat: { chainId: 1337, }, }, }; export defa...