Uniswap:如何使用 API 读取代币价格

Posted

技术标签:

【中文标题】Uniswap:如何使用 API 读取代币价格【英文标题】:Uniswap: How to read token price with API 【发布时间】:2021-02-18 12:34:52 【问题描述】:

在我的 php 代码(或 javascript)中,我想从 Uniswap 读取 erc20(以太坊)代币价格 - 它正在那里交易。我找不到任何 API 调用来返回价格。

我正在寻找此令牌的价格: 处女令牌:0x1381F369D9D5df87a1A04Ed856C9dbc90f5DB2fA

我该怎么做?

【问题讨论】:

有关如何为 uniswap v2 执行此操作的文档位于 docs.uniswap.org/sdk/2.0.0/guides/pricing。 【参考方案1】:

您可以使用GraphQL查询The Graph上的Uniswap data。

一种方法是直接查询token


  token(id: "0x1381f369d9d5df87a1a04ed856c9dbc90f5db2fa") 
    derivedETH
  

...derivedETH 是 ETH 价格。

另一个是查询pair(通过pair id,或者,在本例中,使用令牌id's):


  pairs(where:  token0: "0x1381f369d9d5df87a1a04ed856c9dbc90f5db2fa" token1: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" ) 
    token0Price
    token1Price
  

... 其中token0Pricetoken1Price 是代币的相对价格(VRGN\WETH)。

您可以在sandbox 中使用这些,或者您可能需要client。

或者,为了简单起见,您可以直接请求,如下所示:

curl -X POST -H "Content-Type: application/json" -d '"query": " token(id: \"0x1381f369d9d5df87a1a04ed856c9dbc90f5db2fa\")  derivedETH  "' https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2

...得到:

"data":"token":"derivedETH":"0.0004465905539042863338157407540331524"

【讨论】:

【参考方案2】:

你看https://uniswap.org/docs/v2/API/queries/#pair-data了吗?

他们的 API 文档似乎展示了如何做到这一点

【讨论】:

我做到了,但我不明白。他们的文档和 API 是愚蠢的。沙盒示例总是返回错误。

以上是关于Uniswap:如何使用 API 读取代币价格的主要内容,如果未能解决你的问题,请参考以下文章

使用 web3js 在 uniswap 和 sushiswap 交易所获得硬币价格而不使用他们的 api

如何在代币合约中区分在 uniswap 上买卖 erc-20 代币

用 Python 监控 Uniswap 加密货币价格

Uniswap 和 PancakeSwap 的价格是如何形成的

如何使用 web3 js 在 uniswap 上交换令牌

如何在不实际发送交易的情况下模拟真正的 uniswap v2 滑点?