Full node (gRest)
How the Full node operates
The Koios full node (gRest) is a multi-layered composition created specifically to provide the most complete and efficient API services available on the Cardano blockchain. The Koios full node is constructed from a carefully crafted combination of different layers that work in unison to achieve this goal.
The base
The Cardano Node, which serves as the foundation for the Cardano blockchain provides the fundamental blockchain infrastructure needed to support synching with the blockchain.
The connector
Currently, DBSync is the component in charge of pulling data from the Cardano blockchain via cardano-node and storing it in a Postgres database in the second layer. This layer is critical because it allows for faster data access and ensures that data is always available to the next layer.
The translation
The third layer is a Postgres instance dedicated to normalizing and correlating the raw data from DBSync. This layer is performance-optimized and is responsible for faster response times and improved data accessibility.
The exposure
A PostgREST instance exposes unique machine API endpoints in the fourth layer. By providing a unified API interface that can be accessed only by HAProxy, this layer enables the Koios full node to provide fast and reliable access to blockchain data.
The distribution
Finally, HAProxy serves the PostGREST endpoints to the cluster network as the fifth layer. This layer ensures that the Koios full node is scalable and capable of handling large amounts of traffic while maintaining reliability and speed, while maintaining the security enhancements.
Technology Glossary:
Cardano Node:
The Cardano Node is the core software component of the Cardano blockchain. It is responsible for maintaining the network, validating transactions, and creating new blocks.
DBSync instance:
DBSync is a tool that allows for synchronization between the Cardano Node and a traditional database, like PostgreSQL. It enables the database to store and query data from the Cardano blockchain in a structured way.
Postgres instance:
PostgreSQL is an open-source relational database management system. In the context of Cardano, a Postgres instance is used to store information about the blockchain, such as transaction history and block data.
PostGREST instance:
PostgREST is a web server that automatically generates a RESTful API from a PostgreSQL database. It allows for easy access to the data stored in the Postgres instance.
HAproxy (gatekeeper):
HAproxy is a high-performance, open-source load balancer and proxy server. It is used to distribute incoming network traffic across multiple Cardano nodes, improving network reliability and performance.