一、说明
在完成部署factory工厂合约后,获取到工厂合约对应的init_code_pair_hash值。然后部署router合约,router合约的部署需要输入factory合约地址,另外还需要factory合约中的 init_code_pair_hash值。但是,在部署router合约时经常会出现报错: max code size exceeded的报错。具体报错截图如下:
注:获取以上报错详情的具体操作方式可以通过metamask钱包中的活动交易记录查询,通过metamask钱包进入失败的交易记录,查询以上hash失败记录。
二、报错处理
max code size exceeded的报错主要原因是solidity合约编译后的ABI码超出了链端最大代码数量限制。因此需要增加合约优化级别,以减小编译后的ABI码大小。
同样的问题经常出现在uniswap部署router合约时,因为无法进一步的缩小ABI大小限制,故将router合约拆分成两个router合约:IUniswapV2Router01和IUniswapV2Router02,这就是为什么router合约出现两个的原因。
对于pancakeswap定制化开发部署过程中pancakeswapRouter合约部署时出现的max code size exceeded问题,可以通过提高优化级别来进一步压缩solidity编译后的ABI码大小问题呢。
默认情况下优化级别为200,本次合约部署时选择优化级别为500,接口解决ABI码过大问题。
至此,完成uniswap,pancakeswap去中心化DEX定制开发部署max code size exceeded报错处理的所有操作流程。
pdf+视频PancakeSwap,Uniswap部署教程及合约源代码前端UI程序下载:
币安BSC智能链PancakeSwap,Uniswap部署教程下载:
币安BSC智能链PancakeSwap,Uniswap合约源码及前端UI程序下载:
pdf+视频PancakeSwap,Uniswap部署教程及合约源代码前端UI程序下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册