找到约 14 条结果

文章 Solidty 映射

...tps://img.learnblockchain.cn/2025/02/26/Mappings.png) 顺便说一下,ERC20 代币使用映射来存储某个人拥有多少代币!它们将地址映射到某个人拥有的代币数量。 ```solidity contract ERC20Token { mapping(address => uint256) public balances; functio...

文章 【solidity进阶】合约删除(合约自毁)

...sg.sender == owner, "Unauthorized"); // 2. 转移剩余资产(ERC20/ERC721) _withdrawTokens(); // 3. 清理授权(避免复活攻击) approvals[spender] = 0; // 4. 发出事件通知 emit ContractDestroyed(block.timestamp); // 5. 自...

文章 为什么ERC-4337 Bundlers 必须与区块构建者协作?

...是一种测试行为,这种情况在区块链上一直存在。 在 ERC-4337 的官方文档中提到,Bundler 自身是一个区块构建者,或者与区块构建者合作。在理论上,与区块构建者合作的 Bundler 可以完全避免因 nonce 碰撞导致的交易失败。然而...

文章 每周以太坊进展2022/1/22

.../www.evm.codes/playground): 用 playground 分享了代码链接 * [VestedERC20](https://github.com/ZeframLou/vested-erc20): 被包装为底层 token 线性归属其持有者的 ERC20 * [TWAM](https://github.com/abigger87/twam): ERC721 的时间加权铸币价格 * [MoonCats](https://mooncatcommu...

文章 你的三明治是我的午餐:如何抽取MEV合约V2

...CDB)。 该漏洞使我们能够收集合约所拥有并被批准的所有 ERC-20 代币。 ## 什么是 MEV? 最大可提取价值 (Maximal extractable value, MEV) 是衡量交易对机器人的价值的指标。例如,某个币的买入交易对该币的持有者有价值,而某个用...

文章 详解 Optimism Bedrock 系列 3 - 存款/取款流程分析

...025/06/26/1uB6pGeEnFmffwNTxHaelzQ.png) 图. L1StandardBridge.sol/depositERC20, depositETH (来源:github [链接](https://github.com/ethereum-optimism/optimism/blob/65ec61dde94ffa93342728d324fecf474d228e1f/packages/contracts-bedrock/contracts/L1/L1StandardBridge.sol)) 资产的分类源于...

文章 如何在 DFINITY 上铸造自己的 Token?关于 Token 标准的讨论

...开发者共同探讨了如何在 DFINITY 上发行代币,以及类似 ERC-20 代币标准的设计思路。 本期亮点: * ICP 本身就是 DFINITY 的第一个代币,是以智能合约的形式部署在链上的,因此可以作为实现标准的参考; * 在 DFINITY 上实现类 ...

文章 为什么ERC-4337的Bundler需要与Block Builders合作

...算不是测试行为,这种情况在链上也一直在发生。 在ERC-4337的官方文档中,可以找到对Bundler的定义。其中提到Bundler自己应该就是block builder,或者就要与block builder合作。理论上讲与block builder合作的Bundler可以完全避免因nonce碰...

文章 分别使用默克尔树和数字签名两种方式给NFT合约添加白名单

...le with OpenZeppelin Contracts ^5.0.0 pragma solidity ^0.8.22; import {ERC721} from "@openzeppelin/contracts/token/ERC721/ERC721.sol"; library MerkleProof { /** * @dev 当通过`proof`和`leaf`重建出的`root`与给定的`root`相等时,返回`true`,数据有效。 * 在...

文章 在Substrate链上跑Solidity ERC20智能合约

**在Substrate链上跑Solidity ERC20智能合约** *jasonruan 2020.07.18* ## 1 前言 本实践案例中,我们首先会搭建和启动一条`substrate`链,再通过`MetaMask`这款著名的以太坊钱包浏览器插件,通过自定义`RPC`的方式,接入我们搭建好的`substr...

文章 NFT市场如何运作-1:Wyvern

...Q.png) 图 1. Wyvern 协议与 OpenSea ### 背景 在 2018 年,一些 ERC20 代币交易所将买方与卖方匹配以进行代币交易。Wyvern 团队建立了这样的结算交易所的 ERC721 版本。然而,依赖中央交易所交易资产存在一些缺点,例如容易出现错误的...

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

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

文章 使用 Viem.sh 读取NFT合约信息

...Client, http } from 'viem' import { mainnet } from 'viem/chains'; import erc721Abi from './erc721Abi.json' assert { type: 'json' }; const client = createPublicClient({ chain: mainnet, transport: http(), }) const nftContractAddress = '0x0483b0dfc6c78062b9e999a82ffb795925381415' const...

文章 如何使用 Halmos 编写符号测试

...建这些符号。 [Halmos cheatcodes]: 例如,考虑一个基本的 ERC20 代币合约,如下所示: ```solidity import {ERC20} from "openzeppelin/token/ERC20/ERC20.sol"; contract MyToken is ERC20 { constructor(uint256 initialSupply) ERC20("MyToken", "MT") { _mint(msg.sender, ...