Skip to content

Esquema

Las siguientes tablas se crean en la base de datos Postgres donde se almacenan los datos de los Hubs:

chain_events

Todos los eventos onchain recibidos del flujo de eventos del hub se almacenan en esta tabla. Estos eventos representan cualquier acción onchain, incluyendo registros, transferencias, adiciones/eliminaciones de firmantes, alquileres de almacenamiento, etc. Los eventos nunca se eliminan (es decir, esta tabla es de solo añadir).

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que la marca de tiempo del mensaje!)
block_timestamptimestamp with time zoneMarca de tiempo del bloque en el que se emitió este evento en UTC.
fidbigintFID del usuario que firmó el mensaje.
chain_idbigintID de la cadena.
block_numberbigintNúmero del bloque en el que se emitió este evento.
transaction_indexsmallintÍndice de la transacción en el bloque.
log_indexsmallintÍndice del evento de log en el bloque.
typesmallintTipo de evento de cadena.
block_hashbyteaHash del bloque donde se emitió este evento.
transaction_hashbyteaHash de la transacción que desencadenó este evento.
bodyjsonRepresentación JSON del cuerpo del evento de cadena (cambia de forma según el type).
rawbyteaBytes crudos que representan el OnChainEvent serializado protobuf.

fids

Almacena todos los FIDs registrados en la red Farcaster.

Nombre de ColumnaTipo de DatoDescripción
fidbigintFID del usuario (clave primaria)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que la fecha de registro!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
registered_attimestamp with time zoneMarca de tiempo del bloque en el que el usuario fue registrado.
chain_event_iduuidID de la fila en la tabla chain_events correspondiente al registro inicial de este FID.
custody_addressbyteaDirección que posee el FID.
recovery_addressbyteaDirección que puede iniciar una recuperación para este FID.

signers

Almacena todas las claves de cuenta (firmantes) registradas.

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que cuando se creó la clave en la red!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
added_attimestamp with time zoneMarca de tiempo del bloque donde se añadió este firmante.
removed_attimestamp with time zoneMarca de tiempo del bloque donde se eliminó este firmante.
fidbigintFID del usuario que autorizó este firmante.
requester_fidbigintFID del usuario/app que solicitó este firmante.
add_chain_event_iduuidID de la fila en la tabla chain_events correspondiente a la adición de este firmante.
remove_chain_event_iduuidID de la fila en la tabla chain_events correspondiente a la eliminación de este firmante.
key_typesmallintTipo de clave.
metadata_typesmallintTipo de metadatos.
keybyteaBytes de la clave pública.
metadatabyteaBytes de metadatos tal como se almacenan en la blockchain.

username_proofs

Almacena todas las pruebas de nombre de usuario que se han visto. Esto incluye pruebas que ya no son válidas, que se eliminan suavemente mediante la columna deleted_at. Al consultar nombres de usuario, probablemente quieras consultar directamente la tabla fnames, en lugar de esta tabla.

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que cuando se creó la clave en la red!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
timestamptimestamp with time zoneMarca de tiempo del mensaje de prueba.
deleted_attimestamp with time zoneCuándo esta prueba fue revocada o invalidada de otro modo.
fidbigintFID al que pertenece el nombre de usuario en la prueba.
typesmallintTipo de prueba (ya sea fname o ENS).
usernametextNombre de usuario, p.ej. dwr si es un fname, o dwr.eth si es un nombre ENS.
signaturebyteaFirma de la prueba.
ownerbyteaDirección de la billetera que posee el nombre ENS, o la billetera que proporcionó la firma de la prueba.

fnames

Almacena todos los nombres de usuario que están actualmente registrados. Ten en cuenta que en caso de que un nombre de usuario sea dado de baja, la fila se elimina suavemente mediante la columna deleted_at hasta que se registre un nuevo nombre de usuario para el FID dado.

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que cuando se creó la clave en la red!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
registered_attimestamp with time zoneMarca de tiempo del mensaje de prueba del nombre de usuario.
deleted_attimestamp with time zoneCuándo la prueba fue revocada o el fname fue dado de baja de este usuario de otro modo.
fidbigintFID al que pertenece el nombre de usuario.
typesmallintTipo de nombre de usuario (ya sea fname o ENS).
usernametextNombre de usuario, p.ej. dwr si es un fname, o dwr.eth si es un nombre ENS.

messages

Todos los mensajes Farcaster recuperados del hub se almacenan en esta tabla. Los mensajes nunca se eliminan, solo se eliminan suavemente (es decir, se marcan como eliminados pero no se eliminan realmente de la BD).

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que la marca de tiempo del mensaje!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
timestamptimestamp with time zoneMarca de tiempo del mensaje en UTC.
deleted_attimestamp with time zoneCuándo el mensaje fue eliminado por el hub (p.ej. en respuesta a un mensaje CastRemove, etc.)
pruned_attimestamp with time zoneCuándo el mensaje fue podado por el hub.
revoked_attimestamp with time zoneCuándo el mensaje fue revocado por el hub debido a la revocación del firmante que firmó el mensaje.
fidbigintFID del usuario que firmó el mensaje.
typesmallintTipo de mensaje.
hash_schemesmallintEsquema de hash del mensaje.
signature_schemesmallintEsquema de firma del mensaje.
hashbyteaHash del mensaje.
signaturebyteaFirma del mensaje.
signerbyteaFirmante utilizado para firmar este mensaje.
bodyjsonRepresentación JSON del cuerpo del mensaje.
rawbyteaBytes crudos que representan el mensaje serializado protobuf.

casts

Representa un cast creado por un usuario.

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que la marca de tiempo del mensaje!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
timestamptimestamp with time zoneMarca de tiempo del mensaje en UTC.
deleted_attimestamp with time zoneCuándo el cast fue considerado eliminado/revocado/podado por el hub (p.ej. en respuesta a un mensaje CastRemove, etc.)
fidbigintFID del usuario que firmó el mensaje.
parent_fidbigintSi este cast fue una respuesta, el FID del autor del cast padre. null en caso contrario.
hashbyteaHash del mensaje.
root_parent_hashbyteaSi este cast fue una respuesta, el hash del cast original en la cadena de respuestas. null en caso contrario.
parent_hashbyteaSi este cast fue una respuesta, el hash del cast padre. null en caso contrario.
root_parent_urltextSi este cast fue una respuesta, entonces la URL a la que el cast original en la cadena de respuestas estaba respondiendo.
parent_urltextSi este cast fue una respuesta a una URL (p.ej. un NFT, una URL web, etc.), la URL. null en caso contrario.
texttextEl texto crudo del cast con las menciones eliminadas.
embedsjsonArray de URLs o IDs de cast que se incrustaron con este cast.
mentionsjsonArray de FIDs mencionados en el cast.
mentions_positionsjsonDesplazamientos de bytes UTF8 de los FIDs mencionados en el cast.

reactions

Representa a un usuario reaccionando (gustando o recasteando) contenido.

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no es lo mismo que la marca de tiempo del mensaje!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez.
timestamptimestamp with time zoneMarca de tiempo del mensaje en UTC.
deleted_attimestamp with time zoneCuándo la reacción fue considerada eliminada por el hub (p.ej. en respuesta a un mensaje ReactionRemove, etc.)
fidbigintFID del usuario que firmó el mensaje.
target_cast_fidbigintSi el objetivo fue un cast, el FID del autor del cast. null en caso contrario.
typesmallintTipo de reacción.
hashbyteaHash del mensaje.
target_cast_hashbyteaSi el objetivo fue un cast, el hash del cast. null en caso contrario.
target_urltextSi el objetivo fue una URL (p.ej. NFT, una URL web, etc.), la URL. null en caso contrario.

Representa un enlace entre dos FIDs (p.ej. un seguimiento, suscripción, etc.)

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la fila por primera vez en esta BD (¡no cuando se creó el enlace en la red!)
updated_attimestamp with time zoneCuándo se actualizó la fila por última vez
timestamptimestamp with time zoneMarca de tiempo del mensaje en UTC.
deleted_attimestamp with time zoneCuándo el enlace fue considerado eliminado por el hub (p.ej. en respuesta a un mensaje LinkRemoveMessage, etc.)
fidbigintFarcaster ID (el ID de usuario).
target_fidbigintFarcaster ID del usuario objetivo.
display_timestamptimestamp with time zoneCuándo se actualizó la fila por última vez.
typestringTipo de conexión entre usuarios, p.ej. follow.
hashbyteaHash del mensaje.

verifications

Representa a un usuario verificando algo en la red. Actualmente, la única verificación es demostrar la propiedad de una dirección de billetera Ethereum.

Nombre de ColumnaTipo de DatoDescripción
iduuidIdentificador genérico específico de esta BD (también conocido como clave sustituta)
created_attimestamp with time zoneCuándo se creó la