如何获取Etherscan未收录的合约地址源码?部署UniswapV2Factory遇问题
本地部署UniswapV2Factory的构造函数参数问题解决办法
先搞懂feeToSetter到底是啥
feeToSetter就是个有权限的账号——只有它能修改Uniswap的手续费接收地址(feeTo)。在本地测试环境里,这个地址根本不需要找主网的什么特定地址,直接用你本地钱包的测试地址就行,完全自定义。
具体怎么操作
- 用本地节点生成的测试地址:比如用Hardhat启动本地节点后,控制台会输出10个测试地址,随便挑一个(比如第一个默认地址)填进去就行。
- 别纠结Etherscan的源码:主网的UniswapV2Factory用的feeToSetter可能是官方团队的多签地址,但本地部署是独立的测试环境,跟主网没关系,不需要对应上。
- 举个Hardhat部署的例子:
部署脚本里这么写就行:const UniswapV2Factory = await ethers.getContractFactory("UniswapV2Factory"); // 这里填你本地的测试地址,比如HardHardhat默认的第一个地址 const factory = await UniswapV2Factory.deploy("0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266"); await factory.deployed();
额外提一句
要是之后想模拟主网的权限逻辑,部署完还能调用setFeeToSetter方法修改这个地址,怎么方便怎么来,不影响本地测试。
内容的提问来源于stack exchange,提问作者Lyn
相关产品推荐
相关产品推荐

