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
}
);