报错一:Error happened while trying to execute a function inside a smart contract
原因:在合约部署时报错以上错误,主要原因是合约构造函数中调用了external外部函数导致的,常见的有针对usdt的授权函数usdt.approve,该函数主要是在合约部署时授权当前合约地址到uniswapv2Router地址针对usdt无限大授权;另外还有uniswapv2Router.factory()及swapFactory.createPair()接口函数会导致以上报错
完整报错:
Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending?
Error happened while trying to execute a function inside a smart contract
解决方法:将external外部函数从构造函数中拆分出来,手动创建ETH,Usdt交易对的合约代码:
function launchWethSwap() external onlyOwner() {
require(!launchWethSwapEnabled,"launchWethSwapEnabled is already open");
IUniswapV2Router02 uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
_uniswapV2Router = uniswapV2Router;
_allowances[address(this)][address(uniswapV2Router)] = MAX_UINT256;
_uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
//uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
_swapPairList[_uniswapV2Pair] = true;
//IERC20(_uniswapV2Pair).approve(address(uniswapV2Router), type(uint256).max);
_platform = owner();
_isExcludedFromFee[address(uniswapV2Router)] = true;
launchWethSwapEnabled = true;
}
报错二:Returned error: contract creation code storage out of gas
合约部署时报错contract creation code storage out of gas 主要原因是合约代码产生的 creation code过大,超了gas费用最大限制。
完整报错代码如下:
Gas estimation errored with the following message (see below). The transaction execution will likely fail. Do you want to force sending?
Returned error: contract creation code storage out of gas
解决方法:优化调优合约代码,精简代码体量,缩小代码产生的creation code达到低于gas费最大限制的程度。出现该问题主要原因是合约代码的模式复杂度过高,导致代码量过大。最有效的方法是最大化降低代码模式机制,部分逻辑迁移到dapp中实现,保障合约代码的精简程度。
至此,完成ETH以太坊链上部署合约时常见报错处理所有操作流程。
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载:
币安智能链BSC发币(合约部署、开源、锁仓、LP、参数配置、开发、故障处理、工具使用)教程下载:
多模式(燃烧、回流指定营销地址、分红本币及任意币种,邀请推广八代收益,LP加池分红、交易分红、复利分红、NFT分红、自动筑池、动态手续费、定时开盘、回购)组合合约源代码下载:
pdf+视频币安智能链BSC发币教程及多模式组合合约源代码下载地址:
添加VX或者telegram获取全程线上免费指导
评论前必须登录!
注册