Skip to content
You are reading Codefi Orchestrate development version documentation and some displayed features may not be available in the stable release. You can switch to stable version using the version box at screen bottom.

Orchestrate architecture

Orchestrate implements a microservices architecture composed of APIs and workers which communicate using a publish-subscribe pattern with Apache Kafka as a message broker.

Each API and worker can be configured using its own set of environment variables, and [global environment variables]. The Docker Compose file in the Orchestrate Quickstart provides an example of how to configure and execute the services.

Note

Command line options are also available, and take precedence over environment variables.

Orchestrate High Level Architecture

Orchestrate workers

  • Orchestrate Gateway API manages chain data, smart contracts, identities, and the transaction workflow. It also exposes a proxy to the registered blockchain nodes, allowing users to use the standard Ethereum API.
  • Tx-Sender crafts, signs, and sends transactions.
  • Tx-Listener listens for transaction receipts.
  • Key Manager exposes APIs to every cryptographic operation including communication with the selected key vault, such as HashiCorp Vault.

Infrastructure services

  • Kafka message broker service enables communication between workers following a publish-subscribe pattern.
  • Redis database service is used as distributed cache to store nonce values.
  • Postgres database service stores transaction execution contexts.
  • HashiCorp Vault for key management.
ConsenSys has acquired Quorum from J.P. Morgan. Please read the FAQ.
Questions or feedback? You can obtain paid professional support by Consensys at orchestrate@consensys.net