GraphQl的语法

367 阅读2分钟

image.png

query(vars: String!){ pairDayDatas(where: {pairAddress: vars, date_gt: 1627980769}){ date dailyVolumeToken0 dailyVolumeToken1 dailyVolumeUSD reserveUSD } }

变量: { "vars": "0x58f876857a02d6762e0101bb5c46a8c1ed44dc16" }

添加多个:

image.png

query ($vars: String!,$endAt: Int!) {
  pairDayDatas(where: {pairAddress: $vars, date_gt: $endAt}) {
    date
    dailyVolumeToken0
    dailyVolumeToken1
    dailyVolumeUSD
    reserveUSD
  }
}
{ "vars": "0x58f876857a02d6762e0101bb5c46a8c1ed44dc16","endAt":1628043382 }
query ($vars: String!, $endAt: Int!) {
  pairDayDatas(where: {pairAddress: $vars, date_gt: $endAt}, orderBy: date, orderDirection: desc) {
    date
    dailyVolumeToken0
    dailyVolumeToken1
    dailyVolumeUSD
    reserveUSD
  }
}
{ "vars": "0x58f876857a02d6762e0101bb5c46a8c1ed44dc16","endAt":1628467200 }

倒着取第一条:
query ($vars: String!) {
  pairDayDatas(where: {pairAddress: $vars}, orderBy: date, orderDirection: desc,first:1) {
    date
    dailyVolumeToken0
    dailyVolumeToken1
    dailyVolumeUSD
    reserveUSD
  }
}


sushiSwap
{
  pairDayDatas(where: {pairAddress: "0xC40D16476380e4037e6b1A2594cAF6a6cc8Da967", date_gt: 1630339209}, orderBy: date, orderDirection: desc) {
    date
    token0 {
      id
      symbol
    }
    token1 {
      id
      symbol
    }
    dailyVolumeToken0
    dailyVolumeToken1
    reserveUSD
    reserve0
    reserve1
  }
}

mdex bsc的https://bsc-lite-graph.mdex.one/subgraphs/name/chain/bsc/graphql

resetApi 是通过接口来查找数据的   graphQl  是根据类型type


image.png

image.png

语法:
一、query 查询
①interface 定义一个接口 implements 是实现接口的的实例

image.png 如果你要查 implements 里面的值 需要加上... image.png image.png 二、Mutation 修改 三、问题解决办法:
①重命名字段冲突: image.png image.png ②重复片段的使用 image.png ③给你的查询起一个有意义的名称 image.png

  swaps(
    orderBy: timestamp
    orderDirection: desc
    where: {timestamp_gt: 1650594240, pool: "0xcbcdf9626bc03e24f779434178a73a0b4bad62ed"}
  ) {
    transaction {
      id
    }
    timestamp
    pool {
      id
    }
    token0 {
      id
    }
    token1 {
      id
    }
    sender
    recipient
    origin
    amount0
    amount1
    amountUSD
    sqrtPriceX96
    tick
    logIndex
  }
}


query topPools {
  pools(
    first: 10
    orderBy: totalValueLockedUSD
    orderDirection: desc
    ubgraphError: allow
  ) {
    id
    token0 {
      id
      decimals
      symbol
    }
    token1 {
      id
      decimals
      symbol
    }
    sqrtPrice
    volumeUSD
    totalValueLockedUSD
    totalValueLockedToken0
    totalValueLockedToken1
    volumeToken0
    volumeToken1
    token1Price
    token0Price
    feesUSD
    poolDayData(
      first: 1
      where: {pool: "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8"}
      orderBy: date
      orderDirection: desc
    ) {
      volumeUSD
      tvlUSD
      txCount
      date
    }
    swaps(
      where: {pool: "0x8ad599c3a0ff1de082011efddc58f1908eb6e6d8"}
      orderBy: timestamp
      orderDirection: desc
    ) {
      amountUSD
    }
  }
}

获取多个的数据集的时候可以使用[] stackoverflow.com/questions/4…