如何从 Covalent DB 获取 RSK 上代币的最新转账事件交易?
How to get the latest Transfer event transactions of a token on RSK from Covalent DB?
我正在查询 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
我希望获得最近 1000 次转账事件的交易 gas 费用,但由于某种原因,我从未收到对此查询的回复。谁能告诉我这里的问题是什么?
您不应按时间字段排序,因为 t.signed_at
不是索引字段,而 e.block_id
和 e.tx_offset
是。他们两个都点了。
替换此语句
ORDER BY t.signed_at DESC
有了这个
ORDER BY e.block_id DESC, e.tx_offset DESC
这样最终的查询如下
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
我正在查询 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
我希望获得最近 1000 次转账事件的交易 gas 费用,但由于某种原因,我从未收到对此查询的回复。谁能告诉我这里的问题是什么?
您不应按时间字段排序,因为 t.signed_at
不是索引字段,而 e.block_id
和 e.tx_offset
是。他们两个都点了。
替换此语句
ORDER BY t.signed_at DESC
有了这个
ORDER BY e.block_id DESC, e.tx_offset DESC
这样最终的查询如下
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