Bir işlem için oluşturdum. Alım satım yapmaz sadece fırsat varmı diye kontrol eder.
Her 1 saniyede 1 kontrol yapar.
Apeswap > Pancakeswap
Pancakeswap > Apeswap
sonuçlarını gösterir.
Örnek olarak shiba bsc contract adresi var siz değiştirebilirsiniz.
Meraklısı olur diye buradan paylaşıyorum
Çalıştırmadan önce
npm install web3
const { Web3 } = require('web3');
// Binance Smart Chain RPC URL'si
const bscRpcUrl = "https://bsc-dataseed.binance.org/";
const web3 = new Web3(bscRpcUrl);
// Router adresleri ve ABIl'leri
const pancakeRouterAddress = "0x10ED43C718714eb63d5aA57B78B54704E256024E";
const apeRouterAddress = "0xC0788A3aD43d79aa53B09c2EaCc313A787d1d607";
const routerAbi = [
{
"inputs": [
{ "internalType": "uint256", "name": "amountIn", "type": "uint256" },
{ "internalType": "address[]", "name": "path", "type": "address[]" }
],
"name": "getAmountsOut",
"outputs": [
{ "internalType": "uint256[]", "name": "", "type": "uint256[]" }
],
"stateMutability": "view",
"type": "function"
}
];
// Router sözleşmeleri
const pancakeRouter = new web3.eth.Contract(routerAbi, pancakeRouterAddress);
const apeRouter = new web3.eth.Contract(routerAbi, apeRouterAddress);
// Token adresleri
const WBNB = web3.utils.toChecksumAddress("0xbb4CDB9CBd36B01bD1cBaEBF2De08d9173BC095c");
const TOKEN = web3.utils.toChecksumAddress("0x2859e4544c4bb03966803b044a93563bd2d0dd4d"); // Örnek token adresi
async function calculateTokenAmounts() {
const amountIn = BigInt(web3.utils.toWei("0.0001", "ether")); // 1 WBNB
const pathToToken = [WBNB, TOKEN];
const pathToWBNB = [TOKEN, WBNB];
try {
const pancakeAmounts = await pancakeRouter.methods.getAmountsOut(amountIn.toString(), pathToToken).call();
const pancakeTokenAmount = BigInt(pancakeAmounts[1]); // TOKEN miktarı
const pancakeTokenAmountEther = web3.utils.fromWei(pancakeAmounts[1], 'ether'); // Ether biriminde
const apeAmounts = await apeRouter.methods.getAmountsOut(amountIn.toString(), pathToToken).call();
const apeTokenAmount = BigInt(apeAmounts[1]); // TOKEN miktarı
const apeTokenAmountEther = web3.utils.fromWei(apeAmounts[1], 'ether'); // Ether biriminde
const pancakeSellAmounts = await pancakeRouter.methods.getAmountsOut(apeTokenAmount.toString(), pathToWBNB).call();
const pancakeSellWBNB = web3.utils.fromWei(pancakeSellAmounts[1], 'ether'); // Ether biriminde
const apeSellAmounts = await apeRouter.methods.getAmountsOut(pancakeTokenAmount.toString(), pathToWBNB).call();
const apeSellWBNB = web3.utils.fromWei(apeSellAmounts[1], 'ether'); // Ether biriminde
console.log(`ApeSwap > PancakeSwap: ${pancakeSellWBNB}`);
console.log(`PancakeSwap > ApeSwap: ${apeSellWBNB}`);
console.log(`-----------`);
} catch (error) {
console.error("Bir hata oluştu:", error.message);
}
}
setInterval(calculateTokenAmounts, 1000);