我正在web3中迈出第一步,这就是为什么问题可能很愚蠢的原因。
我不明白,为什么Pancakeswap的getAmountsOut方法的结果与我在Pancakeswap前端看到的交换结果有很大的不同。
烘焙小数应该是无处不在的18自动,所以我不明白为什么会有这样不同的结果。
示例BUSD烘焙交换
const Web3 = require('web3');
const abis = require('./abis');
const web3 = new Web3('wss://bsc-ws-node.nariox.org:443');
const amountInBUSD = web3.utils.toBN(web3.utils.toWei('20000'));
const busdTokenAddress = "0xE02dF9e3e622DeBdD69fb838bB799E3F168902c5";
const bakeTokenAddress = "0xe9e7CEA3DedcA5984780Bafc599bD69ADd087D56";
const init = async () => {
const pancakeSwap = new web3.eth.Contract(
abis.pancakeSwap.router,
"0x10ED43C718714eb63d5aA57B78B54704E256024E"
);
web3.eth.subscribe('newBlockHeaders')
.on('data', async block => {
const bakeOutput = await pancakeSwap.methods.getAmountsOut(amountInBUSD, [busdTokenAddress, bakeTokenAddress]).call();
console.log(`PancakeSwap BUSD-BAKE: ${web3.utils.fromWei(amountInBUSD.toString())} -> ${web3.utils.fromWei(bakeOutput[1].toString())}`);
})
.on('error', error => {
console.log(error);
});
}
init();

来自 UI的

发布于 2022-01-03 10:58:56
如果您将pcs屏幕截图上的路径/路由与bsc上的路径进行比较,您应该注意到它不使用相同的路径。
你会得到一个不同的价格,如果你交易对B美元的->烘焙与BUSD -> BNB ->烘焙
另外,请注意价格对游泳池的影响。
https://stackoverflow.com/questions/70479502
复制相似问题