Goldsky creó una plataforma para el procesamiento en tiempo real de datos de blockchain. La plataforma permite a los clientes extraer datos de blockchains en sus bases de datos para respaldar las funciones del producto sin ejecutar la infraestructura de canalización de datos. La arquitectura basada en eventos (EDA) de Goldsky aprovecha Apache Flink, Redpanda, Kubernetes y los servicios de proveedores de nube.
La plataforma de Goldsky proporciona indexación de blockchain, subgrafos y canales de transmisión de datos que pueden ser utilizados por desarrolladores que crean dApps (aplicaciones descentralizadas) que tal vez no estén versados en ingeniería de datos y no estén familiarizados con tecnologías clave como Apache Kafka o Apache Flink.
Yaroslav Tkachenko, ingeniero de application principal de Goldsky, habla sobre ingeniería de datos para aplicaciones blockchain:

Recientemente, se ha producido un cambio de paradigma en la industria en el que la gente se está dando cuenta de que se puede utilizar la tecnología de plataforma de datos que anteriormente utilizaban los equipos de análisis internos para potenciar las funciones de cara al cliente. El tipo de canales de datos que anteriormente solo admitían informes y paneles ahora admiten la funcionalidad de aplicaciones net.

La arquitectura de la plataforma de Goldsky consta de los componentes del plano de regulate y del plano de datos. Los componentes del plano de regulate son responsables de exponer las API de gestión de configuración, lo que permite configurar canales de procesamiento de datos, incluidas fuentes de datos de blockchain, receptores de bases de datos de clientes, cualquier secreto de credencial de acceso y otras opciones de configuración. Las aplicaciones UI y CLI utilizan API del plano de management para permitir a los clientes configurar las canalizaciones. El plano de datos ejecuta canalizaciones de datos configuradas, extrayendo los datos sin procesar de las cadenas de bloques de origen, transformándolos e insertándolos en los receptores del almacén de datos del cliente.
Arquitectura de transmisión de datos de Goldsky (Fuente: Site de tecnología de Redpanda)
Goldsky admite dos formas de extraer datos de fuentes de blockchain. La indexación directa se basa en el proyecto Ethereum ETL (extracción, transformación, carga) y funciona conectándose directamente a los nodos de blockchain y extrayendo datos de bajo nivel, como registros y transacciones. Los subgrafos, por otro lado, se basan en la telemetría de eventos de procesamiento para contratos inteligentes que utilizan aplicaciones TypeScript simples.
Goldsky utiliza Redpanda, un intermediario de mensajes suitable con Kafka escrito en C++ para indexación directa, con datos de blockchain serializados usando Avro. Redpanda se utiliza para mensajería y almacenamiento de datos con almacenamiento por niveles suitable con S3, lo que permite una retención de datos mucho más prolongada de una manera rentable.
La capa de transformación aprovecha Flink SQL y permite a los clientes definir transformaciones SQL personalizadas para realizar filtrado, proyecciones, uniones complejas o agregaciones. Los trabajos de Flink se ejecutan en Kubernetes mediante el operador Flink Kubernetes. Los clientes pueden elegir entre muchos tipos de receptores de canalización, incluidos PostgreSQL, S3, ElasticSearch, ClickHouse, Rockset y Apache Kafka.
Tkachenko resume los beneficios del streaming de datos para blockchain:

Los conceptos de transmisión de datos funcionan extremadamente bien para los datos de blockchain: podemos resolver problemas desafiantes, como las reorganizaciones de blockchain, modelándolos como problemas de procesamiento de flujo bien conocidos, como las retracciones. Aprovechar esto aún más nos permite admitir casos de uso aún más avanzados, como enriquecer los datos dentro de la cadena con datos fuera de la cadena, calcular de manera confiable las agregaciones Prime-N y combinar datos de múltiples cadenas de bloques.