如何从 Covalent DB 获取 RSK 上代币的最新转账事件交易?

Gin*_*hon 6 sql postgresql rsk

我正在查询 Covalent 数据库,以便获取有关 RSK 上的 rUSDT 代币转账交易的信息。RSK 区块链上的代币地址如下:

0xEf213441a85DF4d7acBdAe0Cf78004E1e486BB96

传输事件日志的哈希值如下:

0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef

这是我的查询如下:

SELECT
    t.signed_at, t.fees_paid
FROM chain_rsk_mainnet.block_log_events e
INNER JOIN chain_rsk_mainnet.block_transactions t ON
  e.block_id = t.block_id
  AND e.tx_offset = t.tx_offset
WHERE
  e.topics @> array[E'\\xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'::bytea]
  AND e.topics[1] = E'\\xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
  AND e.sender = E'\\xEf213441a85DF4d7acBdAe0Cf78004E1e486BB96'
ORDER BY t.signed_at DESC
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)

我期望获得最新 1000 个转账事件的交易 Gas 费用,但由于某种原因,我从未收到此查询的响应。有人能告诉我这里可能有什么问题吗?

Ale*_*hin 6

您不应该按时间字段排序,因为t.signed_at不是索引字段,而e.block_ide.tx_offset是。两人都下单了。

替换此语句

ORDER BY t.signed_at DESC
Run Code Online (Sandbox Code Playgroud)

与这个

ORDER BY e.block_id DESC, e.tx_offset DESC
Run Code Online (Sandbox Code Playgroud)

所以最终的查询如下

SELECT
    t.signed_at, t.fees_paid 
FROM chain_rsk_mainnet.block_log_events e 
INNER JOIN chain_rsk_mainnet.block_transactions t ON
  e.block_id = t.block_id
  AND e.tx_offset = t.tx_offset
WHERE 
  e.topics @> array[E'\\xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'::bytea]
  AND e.topics[1] = E'\\xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef'
  AND e.sender = E'\\xEf213441a85DF4d7acBdAe0Cf78004E1e486BB96'
ORDER BY e.block_id DESC, e.tx_offset DESC
LIMIT 1000
Run Code Online (Sandbox Code Playgroud)