web3j 有没有方法获取代币的实时价格

匿名用户 提出于 2022-05-24 23:19 8023 浏览

pancake的api有十分钟延时,除了api想问下有没有其他的方法获取

最佳答案

2022-05-29 08:37

实时价格那就只能去查询链上合约的实时状态了,用来计算价格,使用 UniswapV2Library库(注意修改initcodehash为pancake的initcodehash)来计算价格,tokenIn是你要查询价格的Token,tokenOut是稳币USDX,amountIn传入1个单位的tokenIn,amountOut既是你要查询的tokenIn价格

(uint256 reserveIn, uint256 reserveOut) = UniswapV2Library.getReserves(
	factory,
	address(tokenIn),
	address(tokenOut)
);
uint256 amountOut = UniswapV2Library.getAmountOut(amountIn,reserveIn,reserveOut);

如果没有和稳币直接建立交易对,那就用getAmountsOut接口

function getAmountsOut(address factory, uint amountIn, address[] memory path) internal view returns (uint[] memory amounts)
Ethereal
Ethereal Solidity智能合约开发工程师

采纳率 25% · 回答于 2022-05-25 15:41

其它 1 个回答

zen 2022-05-25 09:15

写回答

你需要登录后才可以回答问题,登录