0

我有一个仪表板,我可以在其中查看我的以太坊采矿设备最近 24 小时的数据。我正在存储:ETH 价格和矿工余额。我有以下代码来显示数据,但我目前乘以常数 1925.25,而不是使用实际的 ETH 价格。

我希望能够使用 ETH Price 中的 LAST VALUE 作为常量,而不是总是输入一些内容。这是当前查询:

from(bucket: "Mining")
  |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
  |> filter(fn: (r) => r["_measurement"] == "Miner")
  |> filter(fn: (r) => r["_field"] == "balance")
  |> filter(fn: (r) => r["tag1"] == "ethermine")
  |> map(fn: (r) => ({r with _value: (float(v: r._value) / 1000000000000000000.0) * 1925.25 }))
  |> aggregateWindow(every: 1h, fn: last)
  |> derivative(unit: 1h, nonNegative: true, columns: ["_value"])
  |> cumulativeSum(columns: ["_value"])

“价格”字段是 ETH 价格。我希望能够使用最后一个值而不是常量 1925.25。我似乎找不到任何好的例子:(

编辑:这是我试图弄清楚如何做和使用的:

eth_value = from(bucket: "Mining")
  |> range(start: -1m)
  |> filter(fn: (r) => r["_measurement"] == "Miner")
  |> filter(fn: (r) => r["tag1"] == "flexpool")
  |> filter(fn: (r) => r["_field"] == "price")
  |> last()

它无需使用eth_value = - 即可获得我想要的值。但我似乎无法将其设置为变量以供以后使用。

4

1 回答 1

0

您没有说明错误的性质是什么,所以我将继续我可以假设的内容 - 问题可能是 eth_value 的性质是错误类型或包含多个值。

试放,

|> keep(["_value"]

在 eth_value 赋值中的 last() 并将 eth_value 转换为浮点数之后,

  |> map(fn: (r) => ({r with _value: (float(v: r._value) / 1000000000000000000.0) * float(v: eth_value) }))

(当然,请确保在使用它的值之前定义 eth_value!)

于 2021-06-30T15:13:04.583 回答