Estoy consultando la base de datos Covalent para obtener información sobre las transacciones de transferencia de tokens rUSDT en RSK. La dirección del token en la cadena de bloques de RSK es la siguiente:
0xEf213441a85DF4d7acBdAe0Cf78004E1e486BB96
El hash del registro de eventos de transferencia es el siguiente:
0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef
Aquí está mi consulta de la siguiente manera:
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 1000Espero obtener las tarifas de gas de transacción para los últimos 1000 eventos de transferencia, pero por alguna razón nunca recibo una respuesta para esta consulta. ¿Alguien puede decirme cuál puede ser el problema aquí?
No debe ordenar por campo de tiempo porque t.signed_at no es un campo indexado, mientras que e.block_id y e.tx_offset son. Ordene por los dos.
Reemplace esta declaración
ORDER BY t.signed_at DESCCon este
ORDER BY e.block_id DESC, e.tx_offset DESCpara que la consulta final sea la siguiente
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