Ir al contenido principal

GOSSIP_PRIORITY

Actualizado el
Jul 12, 2026

Resumen

The GOSSIP_PRIORITY stream provides normalized gossipPriorityBid events from Hyperliquid transaction data. It emits one JSON event per gossip-priority bid action, derived from both mempool transactions and confirmed block data.

Tipo de arroyo: GOSSIP_PRIORITY
Disponibilidad de la API: Solo API gRPC
Volumen: Variable - Depends on gossip-priority auction activity


When to Use GOSSIP_PRIORITY

Use GOSSIP_PRIORITY when you want to observe gossip/read-priority auction activity without parsing raw MEMPOOL_TXS o completo BLOQUES/replica_cmds payloads yourself.

Important: GOSSIP_PRIORITY does not measure whether a customer received market data faster. It only surfaces the priority-bid action when it appears in observed transaction data.

Esta transmisión resulta útil para:

  • Gossip Auction Monitoring - Track gossip-priority bid submissions in real-time
  • Read-Priority Analysis - Understand gossip-priority patterns
  • Pre-Confirmation Visibility - See gossip-priority bids from mempool before block inclusion
  • Confirmation Tracking - Monitor execution outcomes for gossip-priority bids

Fuentes de datos

The GOSSIP_PRIORITY stream derives events from two sources:

FuenteDescripciónCampos adicionales
mempool_txsPre-consensus gossip-priority activity from the mempool. Events are not finalized and may be rejected, reordered, or absent from the finalized chain.first_seen_time, tx_hash
replica_cmdsDatos de bloque confirmados que representan el procesamiento finalizado de las transacciones.número_de_bloque, hora_del_bloque, índice_del_paquete, resultado

Estructura del evento

Evento de mempool

{
"type": "gossip",
"source": "mempool_txs",
"first_seen_time": "2026-06-02T13:48:49.578877529",
"tx_hash": "0x...",
"signed_action_index": 0,
"maxGas": 1000000,
"slotId": 123,
"ip": "..."
}

Evento confirmado (fuente: replica_cmds)

Confirmed gossip events may also include: usuario, locutor, número_de_bloque, block_time, índice_del_paquete, resultado.

{
"type": "gossip",
"source": "replica_cmds",
"block_number": 581285917,
"block_time": "2026-06-02T13:48:49.626754186",
"bundle_index": 0,
"maxGas": 1000000,
"slotId": 123,
"ip": "...",
"user": "0x...",
"broadcaster": "0x..."
}

Campos de respuesta

CampoTipoDescripción
tipocadenaEvent type: "gossip"
fuentecadenaFuente de datos: «mempool_txs» (antes del consenso) o «replica_cmds» (confirmadas)
fecha_de_la_primera_visitacadena(solo mempool_txs) Marca de tiempo ISO 8601 de la primera vez que se vio en el mempool
tx_hashcadenaTransaction hash (0x-prefixed)
índice_de_acciones_firmadasnúmero(solo mempool_txs) Índice de la acción firmada dentro de la transacción
maxGasnúmeroMaximum gas for the gossip-priority bid
slotIdnúmeroSlot ID for the gossip-priority bid
ipcadenaIP address associated with the bid
número_de_bloquenúmero(replica_cmds only) Block number where the action was confirmed
block_timecadena(solo replica_cmds) Marca de tiempo ISO 8601 del bloque
índice_del_paquetenúmero(solo replica_cmds) Índice del paquete dentro del bloque
usuariocadena(replica_cmds only) User address
locutorcadena(replica_cmds only) Broadcaster address
resultadocadena(optional, replica_cmds only) Execution outcome

Filtrado

The GOSSIP_PRIORITY stream supports standard gRPC field filtering. Useful filters:

CampoValores de ejemploDescripción
fuentemempool_txs, replica_cmdsFiltrar por fuente de datos
tipogossipFiltrar por tipo de evento

Ejemplos de filtros

// Get gossip priority events from mempool
filters: {
"source": FilterValues { values: ["mempool_txs"] },
"type": FilterValues { values: ["gossip"] }
}

// Get confirmed gossip priority events
filters: {
"source": FilterValues { values: ["replica_cmds"] }
}

Para consultar la documentación completa sobre el filtrado, véase la Guía de filtrado de flujos.

For gossip-priority monitoring:

GOSSIP_PRIORITY

Los clientes deben almacenar los eventos si necesitan realizar búsquedas en el historial. StreamData es una transmisión en directo y, por sí sola, no ofrece la posibilidad de reproducir el historial.

gRPC

Ejemplo en Python
import grpc
import json
from pb import streaming_pb2, streaming_pb2_grpc

GRPC_ENDPOINT = 'your-endpoint.hype-mainnet.quiknode.pro:10000'
AUTH_TOKEN = 'your-auth-token'

def stream_gossip_priority():
credentials = grpc.ssl_channel_credentials()
channel = grpc.secure_channel(
GRPC_ENDPOINT,
credentials,
options=[
('grpc.max_receive_message_length', 100 * 1024 * 1024),
]
)

stub = streaming_pb2_grpc.StreamingStub(channel)
metadata = [('x-token', AUTH_TOKEN)]

def request_generator():
# Subscribe to GOSSIP_PRIORITY
subscribe_request = streaming_pb2.SubscribeRequest()
subscribe_request.subscribe.stream_type = streaming_pb2.StreamType.GOSSIP_PRIORITY
yield subscribe_request

# Keep connection alive with periodic pings
while True:
time.sleep(30)
ping_request = streaming_pb2.SubscribeRequest()
ping_request.ping.timestamp = int(time.time() * 1000)
yield ping_request

stream = stub.StreamData(request_generator(), metadata=metadata)

for response in stream:
if response.HasField('data'):
data = json.loads(response.data.data)

print(f"Gossip Priority Event")
print(f"Source: {data.get('source')}")
print(f"Slot ID: {data.get('slotId')}")
print(f"Max Gas: {data.get('maxGas')}")
print(f"TX Hash: {data.get('tx_hash')}")

if data.get('source') == 'replica_cmds':
print(f"Outcome: {data.get('outcome')}")
print(f"Block: {data.get('block_number')}")
print(f"User: {data.get('user')}")

print("---")

if __name__ == "__main__":
stream_gossip_priority()
Ejemplo de JavaScript/Node.js
const grpc = require('@grpc/grpc-js');
const protoLoader = require('@grpc/proto-loader');

const GRPC_ENDPOINT = 'your-endpoint.hype-mainnet.quiknode.pro:10000';
const AUTH_TOKEN = 'your-auth-token';

// Load proto file
const packageDefinition = protoLoader.loadSync('streaming.proto');
const proto = grpc.loadPackageDefinition(packageDefinition).hyperliquid;

// Create channel with credentials
const credentials = grpc.credentials.createSsl();
const client = new proto.Streaming(GRPC_ENDPOINT, credentials);

const metadata = new grpc.Metadata();
metadata.add('x-token', AUTH_TOKEN);

// Subscribe to GOSSIP_PRIORITY
const call = client.StreamData(metadata);

call.on('data', (response) => {
if (response.data) {
const data = JSON.parse(response.data.data);

console.log(`Gossip Priority Event`);
console.log(`Source: ${data.source}`);
console.log(`Slot ID: ${data.slotId}`);
console.log(`Max Gas: ${data.maxGas}`);
console.log(`TX Hash: ${data.tx_hash}`);

if (data.source === 'replica_cmds') {
console.log(`Outcome: ${data.outcome}`);
console.log(`Block: ${data.block_number}`);
console.log(`User: ${data.user}`);
}

console.log('---');
}
});

call.on('error', (error) => {
console.error('Stream error:', error);
});

// Send subscription
call.write({
subscribe: {
stream_type: 10 // GOSSIP_PRIORITY
}
});

// Send periodic pings
setInterval(() => {
call.write({
ping: { timestamp: Date.now() }
});
}, 30000);

Notas importantes


  1. Derived Stream - GOSSIP_PRIORITY is a derived stream that normalizes data from MEMPOOL_TXS and BLOCKS, saving you from parsing raw payloads
  2. Not Latency Measurement - This stream does not measure whether a customer received market data faster; it only surfaces priority-bid actions
  3. Fuentes duales: los eventos proceden tanto del mempool (antes del consenso) como de los bloques confirmados (después del consenso).
  4. Compresión: considera la posibilidad de habilitar la compresión zstd en tu gRPC para optimizar el ancho de banda.

  • ORDER_PRIORITY - Priority-fee order events
  • MEMPOOL_TXS - Raw mempool transactions (source data for pre-consensus events)
  • BLOCKS - Raw blockchain data (source data for confirmed events)

Para obtener más información sobre la configuración gRPC , consulta la documentacióngRPC .