为什么当我增加的 gas 大于 10 时,我的合约购买失败?

问题描述

通过 PCS 路由器购买的非常简单的 JavaScript。除非我尝试将 gasPrice 设置为高于 10,否则它会起作用。这总是会导致交易失败和最大成本 gasPrice x gasLimit 被收取。 gasPrice_ 和 gasLimit 是通过提示获得的,因此可以更改。

const WBNB2swap= ethers.utils.parseEther(amount_BNB).toHexString();

// for some reason chokes on gas over 10... it fails and spits out massive errors and then     charges the entire sum contributed
  
const gasPrice__ = ethers.utils.parseUnits(gasPrice_,'gwei');
const gas = { gasPrice: gasPrice__,gasLimit: gasLimit_ }

// create an instance to wallet 
const mnemonic = seed;    
const provider = new ethers.providers.WebSocketProvider('wss://bsc-ws-node.nariox.org:443');
const walletIns = ethers.Wallet.fromMnemonic(mnemonic);
const account = wallet.connect(provider);
// interact with the router
const router = new ethers.Contract( 
  addresses.router,[
    "function swapExactETHForTokens(uint amountOutMin,address[] calldata path,address to,uint     deadline) external payable returns (uint[] memory amounts)"
  ],account
);  
 
  const buy = async (token) => { 
  const tx = await router.swapExactETHForTokens(
   0,[addresses.WBNB,token],addresses.target,Math.floor(Date.Now() / 1000) + 60 * 10,{
        ...gas,value: WBNB2swap
    }
  );

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...