如何解决为什么当我增加的 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 举报,一经查实,本站将立刻删除。